[PATCH] ARM IAS: properly handle expression operands

Renato Golin renato.golin at linaro.org
Mon Jan 6 05:34:16 PST 2014


  With the comments below, looks good to me.


================
Comment at: lib/Target/ARM/AsmParser/ARMAsmParser.cpp:8743
@@ +8742,3 @@
+      const MCExpr *SOExpr = Op->getImm();
+      int64_t Value;
+      if (!SOExpr->EvaluateAsAbsolute(Value))
----------------
This is the ARM 32 back-end, I'm not sure the result will ever be 64-bit.

================
Comment at: lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp:323
@@ +322,3 @@
+        O << '#' << *Expr;
+        break;
+      }
----------------
Style nit-pick: this would look better as an if/else block.

================
Comment at: test/MC/ARM/complex-operands.s:23
@@ +22,3 @@
+	.type arm_function,%function
+arm_function:
+	mov r0, #(.L_table_end - .L_table_begin) >> 2
----------------
You might need to add code/align directives to make sure they're thumb/arm.


http://llvm-reviews.chandlerc.com/D2489



More information about the llvm-commits mailing list