Turn optimize compares back on with fix. We needed to test that a machine op was
authorBill Wendling <isanbard@gmail.com>
Tue, 10 Aug 2010 21:38:11 +0000 (21:38 +0000)
committerBill Wendling <isanbard@gmail.com>
Tue, 10 Aug 2010 21:38:11 +0000 (21:38 +0000)
a register before checking if it was defined.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110733 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/PeepholeOptimizer.cpp
lib/Target/ARM/ARMBaseInstrInfo.cpp

index 7ed41f4011f5ce241c775c5c8b7ab7288c36a349..96a2b6edf9952726640416786f696182f1f50b2a 100644 (file)
@@ -54,7 +54,7 @@ STATISTIC(NumReuse, "Number of extension results reused");
 
 // Optimize Comparisons
 static cl::opt<bool>
-EnableOptCmps("enable-optimize-cmps", cl::init(false), cl::Hidden);
+EnableOptCmps("enable-optimize-cmps", cl::init(true), cl::Hidden);
 
 STATISTIC(NumEliminated, "Number of compares eliminated");
 
index 7e1c84e1a67cd9a839a7477dbb18d04a94809342..5881a121a9d79acec9f80f52476807bc4e3d5749 100644 (file)
@@ -1386,7 +1386,7 @@ ConvertToSetZeroFlag(MachineInstr *MI, MachineInstr *CmpInstr) const {
 
     for (unsigned IO = 0, EO = Instr.getNumOperands(); IO != EO; ++IO) {
       const MachineOperand &MO = Instr.getOperand(IO);
-      if (!MO.isDef() || !MO.isReg()) continue;
+      if (!MO.isReg() || !MO.isDef()) continue;
 
       // This instruction modifies CPSR before the one we want to change. We
       // can't do this transformation.