[llvm] [ARM][TableGen][MC] Change the ARM mnemonic operands to be optional for ASM parsing (PR #83436)

Alfie Richards via llvm-commits llvm-commits at lists.llvm.org
Fri Mar 1 08:09:40 PST 2024


================
@@ -2019,7 +2058,7 @@ emitConvertFuncs(CodeGenTarget &Target, StringRef ClassName,
   CvtOS
       << "                              std::begin(TiedAsmOperandTable)) &&\n";
   CvtOS << "             \"Tied operand not found\");\n";
-  CvtOS << "      unsigned TiedResOpnd = TiedAsmOperandTable[OpIdx][0];\n";
+  CvtOS << "      unsigned TiedResOpnd = TiedAsmOperandTable[*(p + 1)][0];\n";
----------------
AlfieRichardsArm wrote:

Fixed the assert. Moved this bug fix to a separate patch (https://github.com/llvm/llvm-project/pull/83588).

The OpIdx calculation is needed for the generated switch cases below so I didnt remove it for now. Im not certain how I would remove it just for this case except for adding a if statement? I cant imagine a circumstance where it generates an OOB access though?

https://github.com/llvm/llvm-project/pull/83436


More information about the llvm-commits mailing list