Move ARM if-conversion before post-ra scheduling.
[oota-llvm.git] / lib / Target / ARM / ARMTargetMachine.cpp
index 06c893a6d84c819ce4fe81ebb5ca521e45dcf184..e69349de724b0cdfd329a61bb937eb05b1961920 100644 (file)
@@ -27,11 +27,6 @@ EarlyITBlockFormation("thumb2-early-it-blocks", cl::Hidden,
   cl::desc("Form IT blocks early before register allocation"),
   cl::init(false));
 
-static cl::opt<bool>
-EarlyIfConvert("arm-early-if-convert", cl::Hidden,
-  cl::desc("Run if-conversion before post-ra scheduling"),
-  cl::init(false));
-
 static MCAsmInfo *createMCAsmInfo(const Target &T, StringRef TT) {
   Triple TheTriple(TT);
   switch (TheTriple.getOS()) {
@@ -130,7 +125,7 @@ bool ARMBaseTargetMachine::addPreSched2(PassManagerBase &PM,
   // proper scheduling.
   PM.add(createARMExpandPseudoPass());
 
-  if (EarlyIfConvert && OptLevel != CodeGenOpt::None) {
+  if (OptLevel != CodeGenOpt::None) {
     if (!Subtarget.isThumb1Only())
       PM.add(createIfConverterPass());
     if (Subtarget.isThumb2())
@@ -142,16 +137,8 @@ bool ARMBaseTargetMachine::addPreSched2(PassManagerBase &PM,
 
 bool ARMBaseTargetMachine::addPreEmitPass(PassManagerBase &PM,
                                           CodeGenOpt::Level OptLevel) {
-  if (!EarlyIfConvert && OptLevel != CodeGenOpt::None) {
-    if (!Subtarget.isThumb1Only())
-      PM.add(createIfConverterPass());
-  }
-
-  if (Subtarget.isThumb2()) {
-    if (!EarlyIfConvert)
-      PM.add(createThumb2ITBlockPass());
+  if (Subtarget.isThumb2())
     PM.add(createThumb2SizeReductionPass());
-  }
 
   PM.add(createARMConstantIslandPass());
   return true;