diff options
author | Chris Lattner <sabre@nondot.org> | 2007-12-25 19:06:45 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2007-12-25 19:06:45 +0000 |
commit | ef1bbfc7620cfd28a2692df7d08b2c9d336c4f52 (patch) | |
tree | 77bd6c8b5ded72397f1257161f1b6bea84502762 /llvm/lib/Transforms | |
parent | d42a60baa0013717646d8509b561f5d2a0e6b20f (diff) | |
download | bcm5719-llvm-ef1bbfc7620cfd28a2692df7d08b2c9d336c4f52.tar.gz bcm5719-llvm-ef1bbfc7620cfd28a2692df7d08b2c9d336c4f52.zip |
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
Diffstat (limited to 'llvm/lib/Transforms')
-rw-r--r-- | llvm/lib/Transforms/Scalar/CodeGenPrepare.cpp | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/llvm/lib/Transforms/Scalar/CodeGenPrepare.cpp b/llvm/lib/Transforms/Scalar/CodeGenPrepare.cpp index f31183caf8c..954e3286184 100644 --- a/llvm/lib/Transforms/Scalar/CodeGenPrepare.cpp +++ b/llvm/lib/Transforms/Scalar/CodeGenPrepare.cpp @@ -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 |