[llvm] r313010 - [ARM] Fix typo when creating ISD::SUB nodes

Roger Ferrer Ibanez via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 12 00:42:28 PDT 2017


Author: rogfer01
Date: Tue Sep 12 00:42:28 2017
New Revision: 313010

URL: http://llvm.org/viewvc/llvm-project?rev=313010&view=rev
Log:
[ARM] Fix typo when creating ISD::SUB nodes

In D35192, I accidentally introduced a typo when creating ISD::SUB nodes,
giving them two values instead of one.

This fails when the merge_values combiner finds one of these nodes.

This change fixes PR34564.

Differential Revision: https://reviews.llvm.org/D37690


Modified:
    llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp

Modified: llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp?rev=313010&r1=313009&r2=313010&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp (original)
+++ llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp Tue Sep 12 00:42:28 2017
@@ -4029,7 +4029,7 @@ SDValue ARMTargetLowering::LowerUnsigned
     Overflow = ConvertCarryFlagToBooleanCarry(Value.getValue(1), VT, DAG);
     // ARMISD::SUBC returns 0 when we have to borrow, so make it an overflow
     // value. So compute 1 - C.
-    Overflow = DAG.getNode(ISD::SUB, dl, VTs,
+    Overflow = DAG.getNode(ISD::SUB, dl, MVT::i32,
                            DAG.getConstant(1, dl, MVT::i32), Overflow);
     break;
   }
@@ -7469,8 +7469,8 @@ static SDValue LowerADDSUBCARRY(SDValue
   } else {
     // ARMISD::SUBE expects a carry not a borrow like ISD::SUBCARRY so we
     // have to invert the carry first.
-    Carry =
-        DAG.getNode(ISD::SUB, DL, VTs, DAG.getConstant(1, DL, MVT::i32), Carry);
+    Carry = DAG.getNode(ISD::SUB, DL, MVT::i32,
+                        DAG.getConstant(1, DL, MVT::i32), Carry);
     // This converts the boolean value carry into the carry flag.
     Carry = ConvertBooleanCarryToCarryFlag(Carry, DAG);
 
@@ -7482,8 +7482,8 @@ static SDValue LowerADDSUBCARRY(SDValue
     Carry = ConvertCarryFlagToBooleanCarry(Result.getValue(1), VT, DAG);
     // But the carry returned by ARMISD::SUBE is not a borrow as expected
     // by ISD::SUBCARRY, so compute 1 - C.
-    Carry =
-        DAG.getNode(ISD::SUB, DL, VTs, DAG.getConstant(1, DL, MVT::i32), Carry);
+    Carry = DAG.getNode(ISD::SUB, DL, MVT::i32,
+                        DAG.getConstant(1, DL, MVT::i32), Carry);
   }
 
   // Return both values.




More information about the llvm-commits mailing list