aboutsummaryrefslogtreecommitdiff
path: root/include/llvm/MC
diff options
context:
space:
mode:
authorChad Rosier <mcrosier@apple.com>2013-04-08 17:43:47 +0000
committerChad Rosier <mcrosier@apple.com>2013-04-08 17:43:47 +0000
commit6b369ceb582f2deba9c252af301667975456ff86 (patch)
tree9d60261d59ddd2796f340e949c2890d2177e28f5 /include/llvm/MC
parent5ee67e8e76dfcaffa5e776ef3d5eeb80807a627b (diff)
[ms-inline asm] Add support for ImmDisp [ Symbol ] memory operands.
rdar://13521249 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179030 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/MC')
-rw-r--r--include/llvm/MC/MCTargetAsmParser.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/include/llvm/MC/MCTargetAsmParser.h b/include/llvm/MC/MCTargetAsmParser.h
index 4c5b176125..2cdb983285 100644
--- a/include/llvm/MC/MCTargetAsmParser.h
+++ b/include/llvm/MC/MCTargetAsmParser.h
@@ -22,7 +22,7 @@ class MCInst;
template <typename T> class SmallVectorImpl;
enum AsmRewriteKind {
- AOK_Align, // Rewrite align as .align.
+ AOK_Align = 0, // Rewrite align as .align.
AOK_DotOperator, // Rewrite a dot operator expression as an immediate.
// E.g., [eax].foo.bar -> [eax].8
AOK_Emit, // Rewrite _emit as .byte.
@@ -34,6 +34,18 @@ enum AsmRewriteKind {
AOK_Skip // Skip emission (e.g., offset/type operators).
};
+const char AsmRewritePrecedence [] = {
+ 0, // AOK_Align
+ 0, // AOK_DotOperator
+ 0, // AOK_Emit
+ 2, // AOK_Imm
+ 2, // AOK_ImmPrefix
+ 1, // AOK_Input
+ 1, // AOK_Output
+ 3, // AOK_SizeDirective
+ 0 // AOK_Skip
+};
+
struct AsmRewrite {
AsmRewriteKind Kind;
SMLoc Loc;