fix BranchCC with a setCC with an arg of 0
authorAndrew Lenharth <andrewl@lenharth.org>
Wed, 8 Jun 2005 18:02:21 +0000 (18:02 +0000)
committerAndrew Lenharth <andrewl@lenharth.org>
Wed, 8 Jun 2005 18:02:21 +0000 (18:02 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22203 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/Alpha/AlphaISelPattern.cpp

index 4256f6294771e2222c83034a66c2639477247085..e521a033a0aa9736cf518af075e659db0eee5aa3 100644 (file)
@@ -899,8 +899,8 @@ void ISel::SelectBranchCC(SDOperand N)
       //Dropping the CC is only useful if we are comparing to 0
       bool LeftZero = SetCC->getOperand(0).getOpcode() == ISD::Constant &&
         cast<ConstantSDNode>(SetCC->getOperand(0))->getValue() == 0;
-      bool RightZero = SetCC->getOperand(0).getOpcode() == ISD::Constant &&
-        cast<ConstantSDNode>(SetCC->getOperand(0))->getValue() == 0;
+      bool RightZero = SetCC->getOperand(1).getOpcode() == ISD::Constant &&
+        cast<ConstantSDNode>(SetCC->getOperand(1))->getValue() == 0;
       bool isNE = false;
 
       //Fix up CC
@@ -912,7 +912,7 @@ void ISel::SelectBranchCC(SDOperand N)
         isNE = true;
 
       if (LeftZero || RightZero) {
-        switch (SetCC->getCondition()) {
+        switch (cCode) {
         default: CC.Val->dump(); assert(0 && "Unknown integer comparison!");
         case ISD::SETEQ:  Opc = Alpha::BEQ; break;
         case ISD::SETLT:  Opc = Alpha::BLT; break;