Skip to content

Commit 6f86a70

Browse files
committed
Adjust PTXLinker LTO logic and CLI
1 parent 8d53c92 commit 6f86a70

File tree

2 files changed

+9
-10
lines changed

2 files changed

+9
-10
lines changed

src/ci/docker/nvptx-cuda/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ RUN apt-get install -y --no-install-recommends \
66
cmake sudo gdb
77

88
# FIXME: setup `ptx-linker` CI for automatic binary releases.
9-
RUN curl -sL https://github.com/denzp/rust-ptx-linker/releases/download/v0.9.0-alpha/rust-ptx-linker.linux64.tar.gz | \
9+
RUN curl -sL https://github.com/denzp/rust-ptx-linker/releases/download/v0.9.0-alpha.1/rust-ptx-linker.linux64.tar.gz | \
1010
tar -xzvC /usr/bin
1111

1212
COPY scripts/sccache.sh /scripts/

src/librustc_codegen_ssa/back/linker.rs

+8-9
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ use rustc::hir::def_id::{LOCAL_CRATE, CrateNum};
1313
use rustc::middle::dependency_format::Linkage;
1414
use rustc::session::Session;
1515
use rustc::session::config::{self, CrateType, OptLevel, DebugInfo,
16-
CrossLangLto};
16+
CrossLangLto, Lto};
1717
use rustc::ty::TyCtxt;
1818
use rustc_target::spec::{LinkerFlavor, LldFlavor};
1919
use serialize::{json, Encoder};
@@ -1118,14 +1118,13 @@ impl<'a> Linker for PtxLinker<'a> {
11181118
}
11191119

11201120
fn optimize(&mut self) {
1121-
self.cmd.arg(match self.sess.opts.optimize {
1122-
OptLevel::No => "-O0",
1123-
OptLevel::Less => "-O1",
1124-
OptLevel::Default => "-O2",
1125-
OptLevel::Aggressive => "-O3",
1126-
OptLevel::Size => "-Os",
1127-
OptLevel::SizeMin => "-Os"
1128-
});
1121+
match self.sess.lto() {
1122+
Lto::Thin | Lto::Fat | Lto::ThinLocal => {
1123+
self.cmd.arg("-Olto");
1124+
},
1125+
1126+
Lto::No => { },
1127+
};
11291128
}
11301129

11311130
fn output_filename(&mut self, path: &Path) {

0 commit comments

Comments
 (0)