[PATCH] D39192: [ARM] processInstruction must return true if it makes a change
Oliver Stannard via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Oct 23 09:57:16 PDT 2017
olista01 created this revision.
Herald added subscribers: kristof.beyls, javed.absar, aemerson.
This function must return true if it makes a change, because MatchAndEmitInstruction calls it repeatedly until no further change are made.
No tests because we happen to not hit any of these cases at the moment, but that's just luck.
Repository:
rL LLVM
https://reviews.llvm.org/D39192
Files:
lib/Target/ARM/AsmParser/ARMAsmParser.cpp
Index: lib/Target/ARM/AsmParser/ARMAsmParser.cpp
===================================================================
--- lib/Target/ARM/AsmParser/ARMAsmParser.cpp
+++ lib/Target/ARM/AsmParser/ARMAsmParser.cpp
@@ -8421,6 +8421,7 @@
TmpInst.addOperand(Inst.getOperand(2)); // CondCode
TmpInst.addOperand(Inst.getOperand(3));
Inst = TmpInst;
+ return true;
}
break;
case ARM::t2ADDri12:
@@ -8431,16 +8432,16 @@
break;
Inst.setOpcode(ARM::t2ADDri);
Inst.addOperand(MCOperand::createReg(0)); // cc_out
- break;
+ return true;
case ARM::t2SUBri12:
// If the immediate fits for encoding T3 (t2SUBri) and the generic "sub"
// mnemonic was used (not "subw"), encoding T3 is preferred.
if (static_cast<ARMOperand &>(*Operands[0]).getToken() != "sub" ||
ARM_AM::getT2SOImmVal(Inst.getOperand(2).getImm()) == -1)
break;
Inst.setOpcode(ARM::t2SUBri);
Inst.addOperand(MCOperand::createReg(0)); // cc_out
- break;
+ return true;
case ARM::tADDi8:
// If the immediate is in the range 0-7, we want tADDi3 iff Rd was
// explicitly specified. From the ARM ARM: "Encoding T1 is preferred
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D39192.119883.patch
Type: text/x-patch
Size: 1193 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20171023/2a9c9a97/attachment.bin>
More information about the llvm-commits
mailing list