diff options
author | Cameron Zwarich <zwarich@apple.com> | 2011-01-04 04:43:31 +0000 |
---|---|---|
committer | Cameron Zwarich <zwarich@apple.com> | 2011-01-04 04:43:31 +0000 |
commit | f4e13699e7e8db87f2787ba56b16336921f1b608 (patch) | |
tree | 2b1e93827c72569835d22899792d9f24aa7710e4 /llvm/lib/Transforms/Scalar/CodeGenPrepare.cpp | |
parent | e4f98722be9129afe5a45d34d938c96fc8867629 (diff) | |
download | bcm5719-llvm-f4e13699e7e8db87f2787ba56b16336921f1b608.tar.gz bcm5719-llvm-f4e13699e7e8db87f2787ba56b16336921f1b608.zip |
Avoid finding loop back edges when we are not splitting critical edges in
CodeGenPrepare (which is the default behavior).
llvm-svn: 122801
Diffstat (limited to 'llvm/lib/Transforms/Scalar/CodeGenPrepare.cpp')
-rw-r--r-- | llvm/lib/Transforms/Scalar/CodeGenPrepare.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/Transforms/Scalar/CodeGenPrepare.cpp b/llvm/lib/Transforms/Scalar/CodeGenPrepare.cpp index f4edcc76ec5..8df0b3ce47a 100644 --- a/llvm/lib/Transforms/Scalar/CodeGenPrepare.cpp +++ b/llvm/lib/Transforms/Scalar/CodeGenPrepare.cpp @@ -119,8 +119,10 @@ bool CodeGenPrepare::runOnFunction(Function &F) { // unconditional branch. EverMadeChange |= EliminateMostlyEmptyBlocks(F); - // Now find loop back edges. - findLoopBackEdges(F); + // Now find loop back edges, but only if they are being used to decide which + // critical edges to split. + if (CriticalEdgeSplit) + findLoopBackEdges(F); bool MadeChange = true; while (MadeChange) { |