diff --git a/src/ci/docker/nvptx-cuda/Dockerfile b/src/ci/docker/nvptx-cuda/Dockerfile index b52865ced3e..c7c3ca6bc54 100644 --- a/src/ci/docker/nvptx-cuda/Dockerfile +++ b/src/ci/docker/nvptx-cuda/Dockerfile @@ -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/ 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) {