about summary refs log tree commit diff
path: root/src/librustc_codegen_ssa
diff options
context:
space:
mode:
authorDenys Zariaiev <denys.zariaiev@gmail.com>2019-01-28 23:56:37 +0100
committerDenys Zariaiev <denys.zariaiev@gmail.com>2019-01-28 23:56:37 +0100
commit6f86a70ea13cbe8b32c6e6ed76b8f57be4d70c68 (patch)
tree81c6e22bb57b45e5466c54e5c192eaecb791ab3e /src/librustc_codegen_ssa
parent8d53c9247c23e36219102be68f887b0a39085a32 (diff)
downloadrust-6f86a70ea13cbe8b32c6e6ed76b8f57be4d70c68.tar.gz
rust-6f86a70ea13cbe8b32c6e6ed76b8f57be4d70c68.zip
Adjust PTXLinker LTO logic and CLI
Diffstat (limited to 'src/librustc_codegen_ssa')
-rw-r--r--src/librustc_codegen_ssa/back/linker.rs17
1 files changed, 8 insertions, 9 deletions
diff --git a/src/librustc_codegen_ssa/back/linker.rs b/src/librustc_codegen_ssa/back/linker.rs
index 5e9aeed7107..55b02ebe6c4 100644
--- a/src/librustc_codegen_ssa/back/linker.rs
+++ b/src/librustc_codegen_ssa/back/linker.rs
@@ -13,7 +13,7 @@ use rustc::hir::def_id::{LOCAL_CRATE, CrateNum};
 use rustc::middle::dependency_format::Linkage;
 use rustc::session::Session;
 use rustc::session::config::{self, CrateType, OptLevel, DebugInfo,
-                             CrossLangLto};
+                             CrossLangLto, Lto};
 use rustc::ty::TyCtxt;
 use rustc_target::spec::{LinkerFlavor, LldFlavor};
 use serialize::{json, Encoder};
@@ -1118,14 +1118,13 @@ impl<'a> Linker for PtxLinker<'a> {
     }
 
     fn optimize(&mut self) {
-        self.cmd.arg(match self.sess.opts.optimize {
-            OptLevel::No => "-O0",
-            OptLevel::Less => "-O1",
-            OptLevel::Default => "-O2",
-            OptLevel::Aggressive => "-O3",
-            OptLevel::Size => "-Os",
-            OptLevel::SizeMin => "-Os"
-        });
+        match self.sess.lto() {
+            Lto::Thin | Lto::Fat | Lto::ThinLocal => {
+                self.cmd.arg("-Olto");
+            },
+
+            Lto::No => { },
+        };
     }
 
     fn output_filename(&mut self, path: &Path) {