Skip to content

Commit 3584365

Browse files
committed
---
yaml --- r: 277566 b: refs/heads/try c: 40199f6 h: refs/heads/master
1 parent d8faf20 commit 3584365

File tree

7 files changed

+22
-87
lines changed

7 files changed

+22
-87
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
refs/heads/master: 6dbb0e86aec11050480beb76eade6fb805010ba7
33
refs/heads/snap-stage3: 235d77457d80b549dad3ac36d94f235208a1eafb
4-
refs/heads/try: 44b3cd8c462a420ab64a44ef8f70c007001a1f44
4+
refs/heads/try: 40199f68d909cc15c67de61389328c005062502d
55
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
66
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
77
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503

branches/try/src/librustc/session/config.rs

Lines changed: 11 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,7 @@ pub enum OptLevel {
4848
No, // -O0
4949
Less, // -O1
5050
Default, // -O2
51-
Aggressive, // -O3
52-
Size, // -Os
53-
SizeMin, // -Oz
51+
Aggressive // -O3
5452
}
5553

5654
#[derive(Clone, Copy, PartialEq)]
@@ -569,8 +567,8 @@ options! {CodegenOptions, CodegenSetter, basic_codegen_options,
569567
debuginfo: Option<usize> = (None, parse_opt_uint,
570568
"debug info emission level, 0 = no debug info, 1 = line tables only, \
571569
2 = full debug info with variable and type information"),
572-
opt_level: Option<String> = (None, parse_opt_string,
573-
"optimize with possible levels 0-3, s, or z"),
570+
opt_level: Option<usize> = (None, parse_opt_uint,
571+
"optimize with possible levels 0-3"),
574572
debug_assertions: Option<bool> = (None, parse_opt_bool,
575573
"explicitly enable the cfg(debug_assertions) directive"),
576574
inline_threshold: Option<usize> = (None, parse_opt_uint,
@@ -1127,20 +1125,13 @@ pub fn build_session_options(matches: &getopts::Matches) -> Options {
11271125
}
11281126
OptLevel::Default
11291127
} else {
1130-
match (cg.opt_level.as_ref().map(String::as_ref),
1131-
nightly_options::is_nightly_build()) {
1132-
(None, _) => OptLevel::No,
1133-
(Some("0"), _) => OptLevel::No,
1134-
(Some("1"), _) => OptLevel::Less,
1135-
(Some("2"), _) => OptLevel::Default,
1136-
(Some("3"), _) => OptLevel::Aggressive,
1137-
(Some("s"), true) => OptLevel::Size,
1138-
(Some("z"), true) => OptLevel::SizeMin,
1139-
(Some("s"), false) | (Some("z"), false) => {
1140-
early_error(error_format, &format!("the optimizations s or z are only \
1141-
accepted on the nightly compiler"));
1142-
},
1143-
(Some(arg), _) => {
1128+
match cg.opt_level {
1129+
None => OptLevel::No,
1130+
Some(0) => OptLevel::No,
1131+
Some(1) => OptLevel::Less,
1132+
Some(2) => OptLevel::Default,
1133+
Some(3) => OptLevel::Aggressive,
1134+
Some(arg) => {
11441135
early_error(error_format, &format!("optimization level needs to be \
11451136
between 0-3 (instead was `{}`)",
11461137
arg));
@@ -1313,7 +1304,7 @@ pub mod nightly_options {
13131304
is_nightly_build() && matches.opt_strs("Z").iter().any(|x| *x == "unstable-options")
13141305
}
13151306

1316-
pub fn is_nightly_build() -> bool {
1307+
fn is_nightly_build() -> bool {
13171308
match get_unstable_features_setting() {
13181309
UnstableFeatures::Allow | UnstableFeatures::Cheat => true,
13191310
_ => false,

branches/try/src/librustc_llvm/lib.rs

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@ pub use self::FileType::*;
4444
pub use self::MetadataType::*;
4545
pub use self::AsmDialect::*;
4646
pub use self::CodeGenOptLevel::*;
47-
pub use self::CodeGenOptSize::*;
4847
pub use self::RelocMode::*;
4948
pub use self::CodeGenModel::*;
5049
pub use self::DiagnosticKind::*;
@@ -376,14 +375,6 @@ pub enum CodeGenOptLevel {
376375
CodeGenLevelAggressive = 3,
377376
}
378377

379-
#[derive(Copy, Clone, PartialEq)]
380-
#[repr(C)]
381-
pub enum CodeGenOptSize {
382-
CodeGenOptSizeNone = 0,
383-
CodeGenOptSizeDefault = 1,
384-
CodeGenOptSizeAggressive = 2,
385-
}
386-
387378
#[derive(Copy, Clone, PartialEq)]
388379
#[repr(C)]
389380
pub enum RelocMode {

branches/try/src/librustc_trans/back/write.rs

Lines changed: 10 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -139,15 +139,6 @@ fn get_llvm_opt_level(optimize: config::OptLevel) -> llvm::CodeGenOptLevel {
139139
config::OptLevel::Less => llvm::CodeGenLevelLess,
140140
config::OptLevel::Default => llvm::CodeGenLevelDefault,
141141
config::OptLevel::Aggressive => llvm::CodeGenLevelAggressive,
142-
_ => llvm::CodeGenLevelDefault,
143-
}
144-
}
145-
146-
fn get_llvm_opt_size(optimize: config::OptLevel) -> llvm::CodeGenOptSize {
147-
match optimize {
148-
config::OptLevel::Size => llvm::CodeGenOptSizeDefault,
149-
config::OptLevel::SizeMin => llvm::CodeGenOptSizeAggressive,
150-
_ => llvm::CodeGenOptSizeNone,
151142
}
152143
}
153144

@@ -245,9 +236,6 @@ pub struct ModuleConfig {
245236
/// absolutely no optimizations (used for the metadata module).
246237
opt_level: Option<llvm::CodeGenOptLevel>,
247238

248-
/// Some(level) to optimize binary size, or None to not affect program size.
249-
opt_size: Option<llvm::CodeGenOptSize>,
250-
251239
// Flags indicating which outputs to produce.
252240
emit_no_opt_bc: bool,
253241
emit_bc: bool,
@@ -279,7 +267,6 @@ impl ModuleConfig {
279267
tm: tm,
280268
passes: passes,
281269
opt_level: None,
282-
opt_size: None,
283270

284271
emit_no_opt_bc: false,
285272
emit_bc: false,
@@ -649,7 +636,6 @@ pub fn run_passes(sess: &Session,
649636
let mut metadata_config = ModuleConfig::new(tm, vec!());
650637

651638
modules_config.opt_level = Some(get_llvm_opt_level(sess.opts.optimize));
652-
modules_config.opt_size = Some(get_llvm_opt_size(sess.opts.optimize));
653639

654640
// Save all versions of the bytecode if we're saving our temporaries.
655641
if sess.opts.cg.save_temps {
@@ -1004,48 +990,36 @@ pub unsafe fn with_llvm_pmb(llmod: ModuleRef,
1004990
// reasonable defaults and prepare it to actually populate the pass
1005991
// manager.
1006992
let builder = llvm::LLVMPassManagerBuilderCreate();
1007-
let opt_level = config.opt_level.unwrap_or(llvm::CodeGenLevelNone);
1008-
let opt_size = config.opt_size.unwrap_or(llvm::CodeGenOptSizeNone);
993+
let opt = config.opt_level.unwrap_or(llvm::CodeGenLevelNone);
1009994
let inline_threshold = config.inline_threshold;
1010995

1011-
llvm::LLVMRustConfigurePassManagerBuilder(builder, opt_level,
996+
llvm::LLVMRustConfigurePassManagerBuilder(builder, opt,
1012997
config.merge_functions,
1013998
config.vectorize_slp,
1014999
config.vectorize_loop);
1015-
llvm::LLVMPassManagerBuilderSetSizeLevel(builder, opt_size as u32);
1016-
1017-
if opt_size != llvm::CodeGenOptSizeNone {
1018-
llvm::LLVMPassManagerBuilderSetDisableUnrollLoops(builder, 1);
1019-
}
10201000

10211001
llvm::LLVMRustAddBuilderLibraryInfo(builder, llmod, config.no_builtins);
10221002

10231003
// Here we match what clang does (kinda). For O0 we only inline
10241004
// always-inline functions (but don't add lifetime intrinsics), at O1 we
10251005
// inline with lifetime intrinsics, and O2+ we add an inliner with a
10261006
// thresholds copied from clang.
1027-
match (opt_level, opt_size, inline_threshold) {
1028-
(_, _, Some(t)) => {
1007+
match (opt, inline_threshold) {
1008+
(_, Some(t)) => {
10291009
llvm::LLVMPassManagerBuilderUseInlinerWithThreshold(builder, t as u32);
10301010
}
1031-
(llvm::CodeGenLevelAggressive, _, _) => {
1032-
llvm::LLVMPassManagerBuilderUseInlinerWithThreshold(builder, 275);
1033-
}
1034-
(_, llvm::CodeGenOptSizeDefault, _) => {
1035-
llvm::LLVMPassManagerBuilderUseInlinerWithThreshold(builder, 75);
1036-
}
1037-
(_, llvm::CodeGenOptSizeAggressive, _) => {
1038-
llvm::LLVMPassManagerBuilderUseInlinerWithThreshold(builder, 25);
1039-
}
1040-
(llvm::CodeGenLevelNone, _, _) => {
1011+
(llvm::CodeGenLevelNone, _) => {
10411012
llvm::LLVMRustAddAlwaysInlinePass(builder, false);
10421013
}
1043-
(llvm::CodeGenLevelLess, _, _) => {
1014+
(llvm::CodeGenLevelLess, _) => {
10441015
llvm::LLVMRustAddAlwaysInlinePass(builder, true);
10451016
}
1046-
(llvm::CodeGenLevelDefault, _, _) => {
1017+
(llvm::CodeGenLevelDefault, _) => {
10471018
llvm::LLVMPassManagerBuilderUseInlinerWithThreshold(builder, 225);
10481019
}
1020+
(llvm::CodeGenLevelAggressive, _) => {
1021+
llvm::LLVMPassManagerBuilderUseInlinerWithThreshold(builder, 275);
1022+
}
10491023
}
10501024

10511025
f(builder);

branches/try/src/librustc_trans/declare.rs

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -69,17 +69,6 @@ fn declare_raw_fn(ccx: &CrateContext, name: &str, callconv: llvm::CallConv, ty:
6969
llvm::SetFunctionAttribute(llfn, llvm::Attribute::NoRedZone)
7070
}
7171

72-
match ccx.tcx().sess.opts.cg.opt_level.as_ref().map(String::as_ref) {
73-
Some("s") => {
74-
llvm::SetFunctionAttribute(llfn, llvm::Attribute::OptimizeForSize);
75-
},
76-
Some("z") => {
77-
llvm::SetFunctionAttribute(llfn, llvm::Attribute::MinSize);
78-
llvm::SetFunctionAttribute(llfn, llvm::Attribute::OptimizeForSize);
79-
},
80-
_ => {},
81-
}
82-
8372
llfn
8473
}
8574

branches/try/src/test/run-make/debug-assertions/Makefile

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,6 @@ all:
1111
$(call RUN,debug) good
1212
$(RUSTC) debug.rs -C opt-level=3
1313
$(call RUN,debug) good
14-
$(RUSTC) debug.rs -C opt-level=s
15-
$(call RUN,debug) good
16-
$(RUSTC) debug.rs -C opt-level=z
17-
$(call RUN,debug) good
1814
$(RUSTC) debug.rs -O
1915
$(call RUN,debug) good
2016
$(RUSTC) debug.rs

branches/try/src/test/run-make/emit/Makefile

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@ all:
55
$(RUSTC) -Copt-level=1 --emit=llvm-bc,llvm-ir,asm,obj,link test-24876.rs
66
$(RUSTC) -Copt-level=2 --emit=llvm-bc,llvm-ir,asm,obj,link test-24876.rs
77
$(RUSTC) -Copt-level=3 --emit=llvm-bc,llvm-ir,asm,obj,link test-24876.rs
8-
$(RUSTC) -Copt-level=s --emit=llvm-bc,llvm-ir,asm,obj,link test-24876.rs
9-
$(RUSTC) -Copt-level=z --emit=llvm-bc,llvm-ir,asm,obj,link test-24876.rs
108
$(RUSTC) -Copt-level=0 --emit=llvm-bc,llvm-ir,asm,obj,link test-26235.rs
119
$(call RUN,test-26235) || exit 1
1210
$(RUSTC) -Copt-level=1 --emit=llvm-bc,llvm-ir,asm,obj,link test-26235.rs
@@ -15,7 +13,3 @@ all:
1513
$(call RUN,test-26235) || exit 1
1614
$(RUSTC) -Copt-level=3 --emit=llvm-bc,llvm-ir,asm,obj,link test-26235.rs
1715
$(call RUN,test-26235) || exit 1
18-
$(RUSTC) -Copt-level=s --emit=llvm-bc,llvm-ir,asm,obj,link test-26235.rs
19-
$(call RUN,test-26235) || exit 1
20-
$(RUSTC) -Copt-level=z --emit=llvm-bc,llvm-ir,asm,obj,link test-26235.rs
21-
$(call RUN,test-26235) || exit 1

0 commit comments

Comments
 (0)