about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJames Miller <james@aatch.net>2013-05-28 17:55:16 +1200
committerJames Miller <james@aatch.net>2013-05-29 14:16:49 +1200
commit4988c89e86d7120d5c9b0d5ccabba4e8763e1fe7 (patch)
treedede2adcc4e9cc4d79eed3f5629dfb931575e0f2
parenta5b87d71e09889da28510f960a6fd47fca3dcbf9 (diff)
downloadrust-4988c89e86d7120d5c9b0d5ccabba4e8763e1fe7.tar.gz
rust-4988c89e86d7120d5c9b0d5ccabba4e8763e1fe7.zip
Move the initial dead prototype removal pass
-rw-r--r--src/librustc/back/passes.rs11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/librustc/back/passes.rs b/src/librustc/back/passes.rs
index 84e15560df0..9b140ac5907 100644
--- a/src/librustc/back/passes.rs
+++ b/src/librustc/back/passes.rs
@@ -10,9 +10,8 @@
 
 use core::prelude::*;
 
-use driver::session::{Session, Session_, No, Less, Default};
 use driver::session;
-use lib::llvm::{PassRef, ModuleRef,PassManagerRef,ValueRef,TargetDataRef};
+use lib::llvm::{PassRef, ModuleRef,PassManagerRef,TargetDataRef};
 use lib::llvm::llvm;
 use lib;
 
@@ -56,12 +55,12 @@ impl PassManager {
 
 pub fn populatePassManager(pm: &mut PassManager, level:session::OptLevel) {
     unsafe {
-        // We add a lot of potentially-unused prototypes, so strip them right at the
-        // start. We do it again later when we know for certain which ones are used
-        pm.addPass(llvm::LLVMCreateStripDeadPrototypesPass());
-
         if level == session::No {
             pm.addPass(llvm::LLVMCreateAlwaysInlinerPass());
+
+            // We add a lot of unused prototypes, so strip them no matter
+            // what
+            pm.addPass(llvm::LLVMCreateStripDeadPrototypesPass());
             return;
         }