Don't break critical edges for single-bb loops, this helps with PR1877, though
authorChris Lattner <sabre@nondot.org>
Tue, 25 Dec 2007 19:06:45 +0000 (19:06 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 25 Dec 2007 19:06:45 +0000 (19:06 +0000)
commitff26ab227713afdd6f54f1b539df10cbe8f481e5
treefc552e93b7d7b280967d345e72af17096edfbca7
parentdc32d19c1c8f976e078784da09df1095077738d7
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
lib/Transforms/Scalar/CodeGenPrepare.cpp