From: Chris Lattner Date: Tue, 25 Dec 2007 19:06:45 +0000 (+0000) Subject: Don't break critical edges for single-bb loops, this helps with PR1877, though X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=ff26ab227713afdd6f54f1b539df10cbe8f481e5;p=oota-llvm.git 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 --- diff --git a/lib/Transforms/Scalar/CodeGenPrepare.cpp b/lib/Transforms/Scalar/CodeGenPrepare.cpp index f31183caf8c..954e3286184 100644 --- a/lib/Transforms/Scalar/CodeGenPrepare.cpp +++ b/lib/Transforms/Scalar/CodeGenPrepare.cpp @@ -37,8 +37,6 @@ using namespace llvm; namespace { cl::opt OptExtUses("optimize-ext-uses", cl::init(true), cl::Hidden); - // LLCBETA option. - cl::opt 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