aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2007-12-25 19:06:45 +0000
committerChris Lattner <sabre@nondot.org>2007-12-25 19:06:45 +0000
commitff26ab227713afdd6f54f1b539df10cbe8f481e5 (patch)
treefc552e93b7d7b280967d345e72af17096edfbca7
parentdc32d19c1c8f976e078784da09df1095077738d7 (diff)
downloadexternal_llvm-ff26ab227713afdd6f54f1b539df10cbe8f481e5.zip
external_llvm-ff26ab227713afdd6f54f1b539df10cbe8f481e5.tar.gz
external_llvm-ff26ab227713afdd6f54f1b539df10cbe8f481e5.tar.bz2
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). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45354 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Transforms/Scalar/CodeGenPrepare.cpp4
1 files changed, 1 insertions, 3 deletions
diff --git a/lib/Transforms/Scalar/CodeGenPrepare.cpp b/lib/Transforms/Scalar/CodeGenPrepare.cpp
index f31183c..954e328 100644
--- a/lib/Transforms/Scalar/CodeGenPrepare.cpp
+++ b/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