about summary refs log tree commit diff
path: root/src/comp
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2011-11-26 22:38:36 -0800
committerBrian Anderson <banderson@mozilla.com>2011-12-04 14:59:56 -0800
commita92218e630742368cf21fb734aedc5cfdf635a75 (patch)
treeadfb2be04d73874ffdf22623abfdd4d7fba3bd5a /src/comp
parent96b0881a685e4960439f56cc5ffdcff112894d3d (diff)
downloadrust-a92218e630742368cf21fb734aedc5cfdf635a75.tar.gz
rust-a92218e630742368cf21fb734aedc5cfdf635a75.zip
Upgrade LLVM to svn revision 145779
This pulls in commits 145765 & 145766, which are required for split stacks.
Diffstat (limited to 'src/comp')
-rw-r--r--src/comp/back/link.rs10
-rw-r--r--src/comp/lib/llvm.rs8
2 files changed, 8 insertions, 10 deletions
diff --git a/src/comp/back/link.rs b/src/comp/back/link.rs
index 29f35c44d0f..73137bd7437 100644
--- a/src/comp/back/link.rs
+++ b/src/comp/back/link.rs
@@ -125,7 +125,6 @@ mod write {
     fn run_passes(sess: session::session, llmod: ModuleRef, output: str) {
         let opts = sess.get_opts();
         if opts.time_llvm_passes { llvm::LLVMRustEnableTimePasses(); }
-        if opts.stack_growth { llvm::LLVMRustEnableSegmentedStacks(); }
         link_intrinsics(sess, llmod);
         let pm = mk_pass_manager();
         let td = mk_target_data(
@@ -244,7 +243,8 @@ mod write {
                                     buf_t,
                                     buf_o,
                                     LLVMAssemblyFile,
-                                    CodeGenOptLevel)})});
+                                    CodeGenOptLevel,
+                                    opts.stack_growth)})});
                 }
 
 
@@ -263,7 +263,8 @@ mod write {
                                         buf_t,
                                         buf_o,
                                         LLVMObjectFile,
-                                        CodeGenOptLevel)})});
+                                        CodeGenOptLevel,
+                                        opts.stack_growth)})});
                 }
             } else {
                 // If we aren't saving temps then just output the file
@@ -280,7 +281,8 @@ mod write {
                                     buf_t,
                                     buf_o,
                                     FileType,
-                                    CodeGenOptLevel)})});
+                                    CodeGenOptLevel,
+                                    opts.stack_growth)})});
             }
             // Clean up and return
 
diff --git a/src/comp/lib/llvm.rs b/src/comp/lib/llvm.rs
index b4c809cf464..21c09d8ef42 100644
--- a/src/comp/lib/llvm.rs
+++ b/src/comp/lib/llvm.rs
@@ -852,15 +852,13 @@ native mod llvm {
 
     /* FIXME: The FileType is an enum.*/
     fn LLVMRustWriteOutputFile(PM: PassManagerRef, M: ModuleRef, Triple: sbuf,
-                               Output: sbuf, FileType: int, OptLevel: int);
+                               Output: sbuf, FileType: int, OptLevel: int,
+                               EnableSegmentedStacks: bool);
 
     /** Returns a string describing the last error caused by an LLVMRust*
         call. */
     fn LLVMRustGetLastError() -> sbuf;
 
-    /** Returns a string describing the hosts triple */
-    fn LLVMRustGetHostTriple() -> sbuf;
-
     /** Parses the bitcode in the given memory buffer. */
     fn LLVMRustParseBitcode(MemBuf: MemoryBufferRef) -> ModuleRef;
 
@@ -876,8 +874,6 @@ native mod llvm {
 
     /** Turn on LLVM pass-timing. */
     fn LLVMRustEnableTimePasses();
-    /** Turn on LLVM segmented stacks. */
-    fn LLVMRustEnableSegmentedStacks();
 
     /** Print the pass timings since static dtors aren't picking them up. */
     fn LLVMRustPrintPassTimings();