[PATCH] D37412: [X86][MS-InlineAsm] Extended support for variables / identifiers on memory / immediate expressions

Simon Pilgrim via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 5 04:08:39 PDT 2017


RKSimon added a reviewer: RKSimon.
RKSimon added inline comments.


================
Comment at: include/llvm/MC/MCParser/MCAsmParser.h:43
+    VarKind       // Variable.
+  };
+  // Represents an Enum value
----------------
Preferred enum style is
```
 enum IdKind {
    IK_Invalid,      // Initial state. Unexpected after a successful parsing.
    IK_Label,    // Function/Label reference.
    IK_EnumVal,  // Value of enumration type.
    IK_Var       // Variable.
  };
```


================
Comment at: lib/Target/X86/AsmParser/X86AsmParser.cpp:589
+          return false;
+        }
+      // Treat a symbolic constant like an integer
----------------
```
if (IDInfo.isKind(InlineAsmIdentifierInfo::EnumValKind))
  return onInteger(IDInfo.Enum.EnumVal, ErrMsg);
```


================
Comment at: lib/Target/X86/AsmParser/X86AsmParser.cpp:595
+        return false;
+      }
       PrevState = State;
----------------
```
// Treat a symbolic constant like an integer
if (auto *CE = dyn_cast<MCConstantExpr>(SymRef))
  return onInteger(CE->getValue(), ErrMsg);
```


================
Comment at: lib/Target/X86/AsmParser/X86AsmParser.cpp:1275
     unsigned Scale, SMLoc Start, SMLoc End, unsigned Size, StringRef Identifier,
-    InlineAsmIdentifierInfo &Info) {
+    const InlineAsmIdentifierInfo &Info) {
   // If we found a decl other than a VarDecl, then assume it is a FuncDecl or
----------------
This looks like its a NFC commit that can be done separately 


Repository:
  rL LLVM

https://reviews.llvm.org/D37412





More information about the llvm-commits mailing list