simplify some code using new predicates
authorChris Lattner <sabre@nondot.org>
Mon, 7 Jan 2008 05:40:58 +0000 (05:40 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 7 Jan 2008 05:40:58 +0000 (05:40 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45689 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/IfConversion.cpp
lib/CodeGen/LiveIntervalAnalysis.cpp

index 19ed70d223a31114153f2c709158006d5f5a7cd7..a98347b486ed759f1dc70291e3c13e7952d213cf 100644 (file)
 #include "llvm/ADT/STLExtras.h"
 using namespace llvm;
 
-namespace {
-  // Hidden options for help debugging.
-  cl::opt<int> IfCvtFnStart("ifcvt-fn-start", cl::init(-1), cl::Hidden);
-  cl::opt<int> IfCvtFnStop("ifcvt-fn-stop", cl::init(-1), cl::Hidden);
-  cl::opt<int> IfCvtLimit("ifcvt-limit", cl::init(-1), cl::Hidden);
-  cl::opt<bool> DisableSimple("disable-ifcvt-simple", 
-                              cl::init(false), cl::Hidden);
-  cl::opt<bool> DisableSimpleF("disable-ifcvt-simple-false", 
-                               cl::init(false), cl::Hidden);
-  cl::opt<bool> DisableTriangle("disable-ifcvt-triangle", 
-                                cl::init(false), cl::Hidden);
-  cl::opt<bool> DisableTriangleR("disable-ifcvt-triangle-rev", 
-                                 cl::init(false), cl::Hidden);
-  cl::opt<bool> DisableTriangleF("disable-ifcvt-triangle-false", 
-                                 cl::init(false), cl::Hidden);
-  cl::opt<bool> DisableTriangleFR("disable-ifcvt-triangle-false-rev", 
-                                  cl::init(false), cl::Hidden);
-  cl::opt<bool> DisableDiamond("disable-ifcvt-diamond", 
-                               cl::init(false), cl::Hidden);
-}
+// Hidden options for help debugging.
+static cl::opt<int> IfCvtFnStart("ifcvt-fn-start", cl::init(-1), cl::Hidden);
+static cl::opt<int> IfCvtFnStop("ifcvt-fn-stop", cl::init(-1), cl::Hidden);
+static cl::opt<int> IfCvtLimit("ifcvt-limit", cl::init(-1), cl::Hidden);
+static cl::opt<bool> DisableSimple("disable-ifcvt-simple", 
+                                   cl::init(false), cl::Hidden);
+static cl::opt<bool> DisableSimpleF("disable-ifcvt-simple-false", 
+                                    cl::init(false), cl::Hidden);
+static cl::opt<bool> DisableTriangle("disable-ifcvt-triangle", 
+                                     cl::init(false), cl::Hidden);
+static cl::opt<bool> DisableTriangleR("disable-ifcvt-triangle-rev", 
+                                      cl::init(false), cl::Hidden);
+static cl::opt<bool> DisableTriangleF("disable-ifcvt-triangle-false", 
+                                      cl::init(false), cl::Hidden);
+static cl::opt<bool> DisableTriangleFR("disable-ifcvt-triangle-false-rev", 
+                                       cl::init(false), cl::Hidden);
+static cl::opt<bool> DisableDiamond("disable-ifcvt-diamond", 
+                                    cl::init(false), cl::Hidden);
 
 STATISTIC(NumSimple,       "Number of simple if-conversions performed");
 STATISTIC(NumSimpleFalse,  "Number of simple (F) if-conversions performed");
@@ -555,7 +553,7 @@ void IfConverter::ScanInstructions(BBInfo &BBI) {
       BBI.CannotBeCopied = true;
 
     bool isPredicated = TII->isPredicated(I);
-    bool isCondBr = BBI.IsBrAnalyzable && TID->isBranch() && !TID->isBarrier();
+    bool isCondBr = BBI.IsBrAnalyzable && TID->isConditionalBranch();
 
     if (!isCondBr) {
       if (!isPredicated)
index 6701e5b93fe4fbfeff3ced385cc14b66bb8b3eab..3d0e23c51b72457b1096f69e7c2533b0ff2c7ea4 100644 (file)
@@ -616,8 +616,7 @@ bool LiveIntervals::isReMaterializable(const LiveInterval &li,
 
   isLoad = false;
   const TargetInstrDescriptor *TID = MI->getDesc();
-  if ((TID->Flags & M_IMPLICIT_DEF_FLAG) ||
-      tii_->isTriviallyReMaterializable(MI)) {
+  if (TID->isImplicitDef() || tii_->isTriviallyReMaterializable(MI)) {
     isLoad = TID->isSimpleLoad();
     return true;
   }
@@ -682,7 +681,7 @@ bool LiveIntervals::tryFoldMemoryOperand(MachineInstr* &MI,
   unsigned MRInfo = 0;
   const TargetInstrDescriptor *TID = MI->getDesc();
   // If it is an implicit def instruction, just delete it.
-  if (TID->Flags & M_IMPLICIT_DEF_FLAG) {
+  if (TID->isImplicitDef()) {
     RemoveMachineInstrFromMaps(MI);
     vrm.RemoveMachineInstrFromMaps(MI);
     MI->eraseFromParent();