[PATCH] D68764: [ARM][AsmParser] handles offset expression in parentheses

Nick Desaulniers via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 10 13:07:10 PDT 2019


nickdesaulniers added a comment.

Great test cases. Thanks for the patch!



================
Comment at: llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp:5743-5744
       Parser.getTok().is(AsmToken::Integer)) {
     if (Parser.getTok().isNot(AsmToken::Integer))
-      Parser.Lex(); // Eat '#' or '$'.
+      if (!Parser.getTok().is(AsmToken::LParen))
+        Parser.Lex(); // Eat '#' or '$'
----------------
Prefer:
```
if (foo && bar)
  baz();
```
to:
```
if (foo)
  if (bar)
    baz();
```


================
Comment at: llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp:5744
     if (Parser.getTok().isNot(AsmToken::Integer))
-      Parser.Lex(); // Eat '#' or '$'.
+      if (!Parser.getTok().is(AsmToken::LParen))
+        Parser.Lex(); // Eat '#' or '$'
----------------
Looks like `Parser.getTok().isNot` is more readable that `!Parser.getTok().is()`.


================
Comment at: llvm/test/MC/ARM/gas-compl.s:4
+@ CHECK: ldr	r12, [sp, #15]
+.syntax unified
+  ldr r12, [sp, (15)]
----------------
An assembler directive should be set once.  Resetting the syntax to unified has no effect.  You can set it once in this test, then never again.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D68764/new/

https://reviews.llvm.org/D68764





More information about the llvm-commits mailing list