mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-12-29 06:53:53 +00:00
Don't break critical edges for single-bb loops, this helps with PR1877, though
it is only a partial fix. This change is noise for most programs, but speeds up Shootout-C++/matrix by 20%, Ptrdist/ks by 24%, smg2000 by 8%, hexxagon by 9%, bzip2 by 9% (not sure I trust this), ackerman by 13%, etc. OTOH, it slows down Shootout/fib2 by 40% (I'll update PR1877 with this info). llvm-svn: 45354
This commit is contained in:
parent
28edc56597
commit
90df7f7424
@ -37,8 +37,6 @@ using namespace llvm;
|
||||
namespace {
|
||||
cl::opt<bool> OptExtUses("optimize-ext-uses",
|
||||
cl::init(true), cl::Hidden);
|
||||
// LLCBETA option.
|
||||
cl::opt<bool> DontHackBackedge("backedge-hack", cl::Hidden);
|
||||
}
|
||||
|
||||
namespace {
|
||||
@ -280,7 +278,7 @@ static void SplitEdgeNicely(TerminatorInst *TI, unsigned SuccNum, Pass *P) {
|
||||
// As a hack, never split backedges of loops. Even though the copy for any
|
||||
// PHIs inserted on the backedge would be dead for exits from the loop, we
|
||||
// assume that the cost of *splitting* the backedge would be too high.
|
||||
if (DontHackBackedge && Dest == TIBB)
|
||||
if (Dest == TIBB)
|
||||
return;
|
||||
|
||||
/// TIPHIValues - This array is lazily computed to determine the values of
|
||||
|
Loading…
Reference in New Issue
Block a user