Don't analyze block if it's not considered for ifcvt anymore.
authorJakub Staszak <jstaszak@apple.com>
Sun, 10 Jul 2011 02:00:16 +0000 (02:00 +0000)
committerJakub Staszak <jstaszak@apple.com>
Sun, 10 Jul 2011 02:00:16 +0000 (02:00 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134856 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/IfConversion.cpp

index c918bf631209d31149745562054e71ce077136b4..8cf68d660250dd481268246694e95889e1869bbb 100644 (file)
@@ -751,8 +751,9 @@ IfConverter::BBInfo &IfConverter::AnalyzeBlock(MachineBasicBlock *BB,
 
   ScanInstructions(BBI);
 
-  // Unanalyzable or ends with fallthrough or unconditional branch.
-  if (!BBI.IsBrAnalyzable || BBI.BrCond.empty()) {
+  // Unanalyzable or ends with fallthrough or unconditional branch, or if is not
+  // considered for ifcvt anymore.
+  if (!BBI.IsBrAnalyzable || BBI.BrCond.empty() || BBI.IsDone) {
     BBI.IsBeingAnalyzed = false;
     BBI.IsAnalyzed = true;
     return BBI;