From 3bc5270b1bf4c12a8608bd973cd309e9b7b0ad1b Mon Sep 17 00:00:00 2001 From: Erick Tryzelaar Date: Fri, 28 Sep 2012 09:31:17 -0700 Subject: [PATCH 1/5] rebase rust llvm patches onto llvm HEAD --- src/llvm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/llvm b/src/llvm index fcda503144cc2..e76188cc44f0d 160000 --- a/src/llvm +++ b/src/llvm @@ -1 +1 @@ -Subproject commit fcda503144cc27da1a1d41c6b9417131d2fe88f8 +Subproject commit e76188cc44f0d29b7a09c8808dd5931843718da1 From 64fb345c230c49c80d61cfd3a72e4a8f1b3938ca Mon Sep 17 00:00:00 2001 From: Erick Tryzelaar Date: Fri, 28 Sep 2012 23:03:29 -0700 Subject: [PATCH 2/5] rustc: uniquely mangle expr_fn names two closures in the same function body can end up having the same mangled name. This small patch uses gensym to uniquely name each closure body so there won't be conflicts. --- src/rustc/middle/trans/closure.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rustc/middle/trans/closure.rs b/src/rustc/middle/trans/closure.rs index 95c9812696689..1ab25a1832932 100644 --- a/src/rustc/middle/trans/closure.rs +++ b/src/rustc/middle/trans/closure.rs @@ -363,7 +363,7 @@ fn trans_expr_fn(bcx: block, let llfnty = type_of_fn_from_ty(ccx, fty); let sub_path = vec::append_one(bcx.fcx.path, path_name(special_idents::anon)); - let s = mangle_internal_name_by_path(ccx, sub_path); + let s = mangle_internal_name_by_path_and_seq(ccx, sub_path, ~"expr_fn"); let llfn = decl_internal_cdecl_fn(ccx.llmod, s, llfnty); let trans_closure_env = fn@(ck: ty::closure_kind) -> Result { From e6cd7accf2702d0e7cfb0ebec0a86c3e324e12bc Mon Sep 17 00:00:00 2001 From: Erick Tryzelaar Date: Fri, 28 Sep 2012 23:43:00 -0700 Subject: [PATCH 3/5] rustc: llvm grew some new enum variants --- src/rustc/lib/llvm.rs | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/src/rustc/lib/llvm.rs b/src/rustc/lib/llvm.rs index c16fe31f93357..0d92c19b9521b 100644 --- a/src/rustc/lib/llvm.rs +++ b/src/rustc/lib/llvm.rs @@ -28,19 +28,19 @@ enum Linkage { AvailableExternallyLinkage = 1, LinkOnceAnyLinkage = 2, LinkOnceODRLinkage = 3, - WeakAnyLinkage = 4, - WeakODRLinkage = 5, - AppendingLinkage = 6, - InternalLinkage = 7, - PrivateLinkage = 8, - DLLImportLinkage = 9, - DLLExportLinkage = 10, - ExternalWeakLinkage = 11, - GhostLinkage = 12, - CommonLinkage = 13, - LinkerPrivateLinkage = 14, - LinkerPrivateWeakLinkage = 15, - LinkerPrivateWeakDefAutoLinkage = 16, + LinkOnceODRAutoHideLinkage = 4, + WeakAnyLinkage = 5, + WeakODRLinkage = 6, + AppendingLinkage = 7, + InternalLinkage = 8, + PrivateLinkage = 9, + DLLImportLinkage = 10, + DLLExportLinkage = 11, + ExternalWeakLinkage = 12, + GhostLinkage = 13, + CommonLinkage = 14, + LinkerPrivateLinkage = 15, + LinkerPrivateWeakLinkage = 16, } enum Attribute { @@ -91,6 +91,7 @@ enum IntPredicate { // enum for the LLVM RealPredicate type enum RealPredicate { + RealPredicateFalse = 0, RealOEQ = 1, RealOGT = 2, RealOGE = 3, @@ -105,6 +106,7 @@ enum RealPredicate { RealULT = 12, RealULE = 13, RealUNE = 14, + RealPredicateTrue = 15, } // enum for the LLVM TypeKind type - must stay in sync with the def of From 421453cacadf83be5111c2e4e5c1c8cd86013c9e Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Sat, 29 Sep 2012 14:36:45 -0700 Subject: [PATCH 4/5] Add bbrittain's llvm python fixes --- src/llvm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/llvm b/src/llvm index e76188cc44f0d..94707d40a8a47 160000 --- a/src/llvm +++ b/src/llvm @@ -1 +1 @@ -Subproject commit e76188cc44f0d29b7a09c8808dd5931843718da1 +Subproject commit 94707d40a8a47428d2e06185c94f90633ca25b36 From 4c753a9dd31f3a00a9f17a8af95282847a3bfa3a Mon Sep 17 00:00:00 2001 From: Erick Tryzelaar Date: Sun, 30 Sep 2012 12:37:50 -0700 Subject: [PATCH 5/5] Another llvm update, this time updating compiler-rt --- src/llvm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/llvm b/src/llvm index 94707d40a8a47..326b1a2bd717c 160000 --- a/src/llvm +++ b/src/llvm @@ -1 +1 @@ -Subproject commit 94707d40a8a47428d2e06185c94f90633ca25b36 +Subproject commit 326b1a2bd717c21a08e1ec2d82bb2d88233fa478