Add the "isCompare" attribute to the defm instead of each individual instr.
authorBill Wendling <isanbard@gmail.com>
Thu, 19 Aug 2010 00:05:48 +0000 (00:05 +0000)
committerBill Wendling <isanbard@gmail.com>
Thu, 19 Aug 2010 00:05:48 +0000 (00:05 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111481 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMInstrThumb2.td

index 649b5c374cb891cbef1a8c71412a5a9971cb6621..7372631fe5f30b7a2fdbe1b952979c6fa417fde5 100644 (file)
@@ -523,7 +523,7 @@ multiclass T2I_sh_ir<bits<2> opcod, string opc, PatFrag opnode> {
 /// T2I_cmp_irs - Defines a set of (op r, {so_imm|r|so_reg}) cmp / test
 /// patterns. Similar to T2I_bin_irs except the instruction does not produce
 /// a explicit result, only implicitly set CPSR.
-let Defs = [CPSR] in {
+let isCompare = 1, Defs = [CPSR] in {
 multiclass T2I_cmp_irs<bits<4> opcod, string opc, PatFrag opnode> {
    // shifted imm
    def ri : T2I<(outs), (ins GPR:$lhs, t2_so_imm:$rhs), IIC_iCMPi,
@@ -2136,12 +2136,10 @@ def : T2Pat<(or (and rGPR:$src1, 0xFFFF0000),
 //===----------------------------------------------------------------------===//
 //  Comparison Instructions...
 //
-let isCompare = 1 in {
 defm t2CMP  : T2I_cmp_irs<0b1101, "cmp",
                           BinOpFrag<(ARMcmp node:$LHS, node:$RHS)>>;
 defm t2CMPz : T2I_cmp_irs<0b1101, "cmp",
                           BinOpFrag<(ARMcmpZ node:$LHS, node:$RHS)>>;
-}
 
 //FIXME: Disable CMN, as CCodes are backwards from compare expectations
 //       Compare-to-zero still works out, just not the relationals