Skip to content

Commit

Permalink
auto merge of #6881 : Aatch/rust/new-passes-2, r=thestinger
Browse files Browse the repository at this point in the history
This is a better pipeline, both faster-running and produces faster code.

For some reason the `mergefunc` pass screws over resolve. I have no idea why though.
  • Loading branch information
bors committed Jun 1, 2013
2 parents 2bf053c + 6e075b6 commit b8391cc
Showing 1 changed file with 5 additions and 10 deletions.
15 changes: 5 additions & 10 deletions src/librustc/back/passes.rs
Original file line number Diff line number Diff line change
Expand Up @@ -70,9 +70,12 @@ pub fn create_standard_passes(level:OptLevel) -> ~[~str] {

passes.push(~"targetlibinfo");

passes.push(~"tbaa");
passes.push(~"scev-aa");
passes.push(~"basicaa");

passes.push(~"instcombine");
passes.push(~"simplifycfg");
passes.push(~"scalarrepl-ssa");
passes.push(~"early-cse");

passes.push(~"globalopt");
Expand All @@ -83,10 +86,6 @@ pub fn create_standard_passes(level:OptLevel) -> ~[~str] {

passes.push(~"prune-eh");

if level == Aggressive {
passes.push(~"mergefunc");
}

passes.push(~"inline");

passes.push(~"functionattrs");
Expand All @@ -95,6 +94,7 @@ pub fn create_standard_passes(level:OptLevel) -> ~[~str] {
passes.push(~"argpromotion");
}

passes.push(~"scalarrepl-ssa");
passes.push(~"early-cse");
passes.push(~"simplify-libcalls");
passes.push(~"jump-threading");
Expand Down Expand Up @@ -134,11 +134,6 @@ pub fn create_standard_passes(level:OptLevel) -> ~[~str] {
passes.push(~"correlated-propagation");
passes.push(~"dse");

passes.push(~"instcombine");
passes.push(~"early-cse");

passes.push(~"loop-unroll");

passes.push(~"adce");
passes.push(~"simplifycfg");
passes.push(~"instsimplify");
Expand Down

0 comments on commit b8391cc

Please sign in to comment.