Adjust PTXLinker LTO logic and CLI
This commit is contained in:
parent
8d53c9247c
commit
6f86a70ea1
2 changed files with 9 additions and 10 deletions
|
@ -6,7 +6,7 @@ RUN apt-get install -y --no-install-recommends \
|
||||||
cmake sudo gdb
|
cmake sudo gdb
|
||||||
|
|
||||||
# FIXME: setup `ptx-linker` CI for automatic binary releases.
|
# 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
|
tar -xzvC /usr/bin
|
||||||
|
|
||||||
COPY scripts/sccache.sh /scripts/
|
COPY scripts/sccache.sh /scripts/
|
||||||
|
|
|
@ -13,7 +13,7 @@ use rustc::hir::def_id::{LOCAL_CRATE, CrateNum};
|
||||||
use rustc::middle::dependency_format::Linkage;
|
use rustc::middle::dependency_format::Linkage;
|
||||||
use rustc::session::Session;
|
use rustc::session::Session;
|
||||||
use rustc::session::config::{self, CrateType, OptLevel, DebugInfo,
|
use rustc::session::config::{self, CrateType, OptLevel, DebugInfo,
|
||||||
CrossLangLto};
|
CrossLangLto, Lto};
|
||||||
use rustc::ty::TyCtxt;
|
use rustc::ty::TyCtxt;
|
||||||
use rustc_target::spec::{LinkerFlavor, LldFlavor};
|
use rustc_target::spec::{LinkerFlavor, LldFlavor};
|
||||||
use serialize::{json, Encoder};
|
use serialize::{json, Encoder};
|
||||||
|
@ -1118,14 +1118,13 @@ impl<'a> Linker for PtxLinker<'a> {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn optimize(&mut self) {
|
fn optimize(&mut self) {
|
||||||
self.cmd.arg(match self.sess.opts.optimize {
|
match self.sess.lto() {
|
||||||
OptLevel::No => "-O0",
|
Lto::Thin | Lto::Fat | Lto::ThinLocal => {
|
||||||
OptLevel::Less => "-O1",
|
self.cmd.arg("-Olto");
|
||||||
OptLevel::Default => "-O2",
|
},
|
||||||
OptLevel::Aggressive => "-O3",
|
|
||||||
OptLevel::Size => "-Os",
|
Lto::No => { },
|
||||||
OptLevel::SizeMin => "-Os"
|
};
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fn output_filename(&mut self, path: &Path) {
|
fn output_filename(&mut self, path: &Path) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue