]> git.lizzy.rs Git - rust.git/commitdiff
Adjust PTXLinker LTO logic and CLI
authorDenys Zariaiev <denys.zariaiev@gmail.com>
Mon, 28 Jan 2019 22:56:37 +0000 (23:56 +0100)
committerDenys Zariaiev <denys.zariaiev@gmail.com>
Mon, 28 Jan 2019 22:56:37 +0000 (23:56 +0100)
src/ci/docker/nvptx-cuda/Dockerfile
src/librustc_codegen_ssa/back/linker.rs

index b52865ced3e38cad1fe99dcf884e36b3187af371..c7c3ca6bc5417cb89a3816652011827e095dd8f7 100644 (file)
@@ -6,7 +6,7 @@ RUN apt-get install -y --no-install-recommends \
     cmake sudo gdb
 
 # FIXME: setup `ptx-linker` CI for automatic binary releases.
-RUN curl -sL https://github.com/denzp/rust-ptx-linker/releases/download/v0.9.0-alpha/rust-ptx-linker.linux64.tar.gz | \
+RUN curl -sL https://github.com/denzp/rust-ptx-linker/releases/download/v0.9.0-alpha.1/rust-ptx-linker.linux64.tar.gz | \
     tar -xzvC /usr/bin
 
 COPY scripts/sccache.sh /scripts/
index 5e9aeed7107acbf2a208b3c878036702ab57e17b..55b02ebe6c4d55155a16459192f3315dea644f9a 100644 (file)
@@ -13,7 +13,7 @@
 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 @@ fn args(&mut self, args: &[String]) {
     }
 
     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) {