[llvm-commits] CVS: llvm/lib/CodeGen/IfConversion.cpp

Evan Cheng evan.cheng at apple.com
Tue Jun 5 13:39:04 PDT 2007



Changes in directory llvm/lib/CodeGen:

IfConversion.cpp updated: 1.26 -> 1.27
---
Log message:

Do not ifcvt if either true / false path is a backedge. Not profitable in almost all cases.

---
Diffs of the changes:  (+3 -0)

 IfConversion.cpp |    3 +++
 1 files changed, 3 insertions(+)


Index: llvm/lib/CodeGen/IfConversion.cpp
diff -u llvm/lib/CodeGen/IfConversion.cpp:1.26 llvm/lib/CodeGen/IfConversion.cpp:1.27
--- llvm/lib/CodeGen/IfConversion.cpp:1.26	Tue Jun  5 02:05:25 2007
+++ llvm/lib/CodeGen/IfConversion.cpp	Tue Jun  5 15:38:42 2007
@@ -237,6 +237,9 @@
     !TII->AnalyzeBranch(*BB, BBI.TrueBB, BBI.FalseBB, BBI.BrCond);
   if (!BBI.IsAnalyzable || BBI.BrCond.size() == 0)
     return;
+  // Do not ifcvt if either path is a back edge to the entry block.
+  if (BBI.TrueBB == BB || BBI.FalseBB == BB)
+    return;
 
   StructuralAnalysis(BBI.TrueBB);
   BBInfo &TrueBBI = BBAnalysis[BBI.TrueBB->getNumber()];






More information about the llvm-commits mailing list