summaryrefslogtreecommitdiff
path: root/include/llvm/MC/MCTargetAsmParser.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/llvm/MC/MCTargetAsmParser.h')
-rw-r--r--include/llvm/MC/MCTargetAsmParser.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/include/llvm/MC/MCTargetAsmParser.h b/include/llvm/MC/MCTargetAsmParser.h
index 4c5b17612569e..6e878df3cb1e0 100644
--- a/include/llvm/MC/MCTargetAsmParser.h
+++ b/include/llvm/MC/MCTargetAsmParser.h
@@ -22,6 +22,7 @@ class MCInst;
template <typename T> class SmallVectorImpl;
enum AsmRewriteKind {
+ AOK_Delete = 0, // Rewrite should be ignored.
AOK_Align, // Rewrite align as .align.
AOK_DotOperator, // Rewrite a dot operator expression as an immediate.
// E.g., [eax].foo.bar -> [eax].8
@@ -34,6 +35,19 @@ enum AsmRewriteKind {
AOK_Skip // Skip emission (e.g., offset/type operators).
};
+const char AsmRewritePrecedence [] = {
+ 0, // AOK_Delete
+ 1, // AOK_Align
+ 1, // AOK_DotOperator
+ 1, // AOK_Emit
+ 3, // AOK_Imm
+ 3, // AOK_ImmPrefix
+ 2, // AOK_Input
+ 2, // AOK_Output
+ 4, // AOK_SizeDirective
+ 1 // AOK_Skip
+};
+
struct AsmRewrite {
AsmRewriteKind Kind;
SMLoc Loc;