about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRyan Prichard <ryan.prichard@gmail.com>2015-02-19 02:07:45 -0800
committerRyan Prichard <ryan.prichard@gmail.com>2015-02-19 02:16:16 -0800
commitdc3bc90d5b08e408171b51dbb2da286082d8318a (patch)
tree5fba868abad91171a5ac8e54b64876448e1adf03
parent22992358bc74956f53b1a2ab99ae245cd3ca5550 (diff)
downloadrust-dc3bc90d5b08e408171b51dbb2da286082d8318a.tar.gz
rust-dc3bc90d5b08e408171b51dbb2da286082d8318a.zip
Use sess.opts.optimize instead of sess.opts.cg.opt_level for LTO optlevel
Fixes #22525
-rw-r--r--src/librustc_trans/back/lto.rs7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/librustc_trans/back/lto.rs b/src/librustc_trans/back/lto.rs
index c88e76f4270..8a4059d1972 100644
--- a/src/librustc_trans/back/lto.rs
+++ b/src/librustc_trans/back/lto.rs
@@ -167,7 +167,12 @@ pub fn run(sess: &session::Session, llmod: ModuleRef,
         llvm::LLVMRustAddAnalysisPasses(tm, pm, llmod);
         llvm::LLVMRustAddPass(pm, "verify\0".as_ptr() as *const _);
 
-        let opt = sess.opts.cg.opt_level.unwrap_or(0) as libc::c_uint;
+        let opt = match sess.opts.optimize {
+            config::No => 0,
+            config::Less => 1,
+            config::Default => 2,
+            config::Aggressive => 3,
+        };
 
         let builder = llvm::LLVMPassManagerBuilderCreate();
         llvm::LLVMPassManagerBuilderSetOptLevel(builder, opt);