MCTargetAsmParser target match predicate support.
[oota-llvm.git] / include / llvm / MC / MCTargetAsmParser.h
index fcb5edcef6a8ad2bffe1fe4544076f5a59a4f459..4e3fd0d3a9ec3396919671f499a26dbb2a1f79ea 100644 (file)
@@ -18,6 +18,7 @@ class StringRef;
 class SMLoc;
 class AsmToken;
 class MCParsedAsmOperand;
+class MCInst;
 template <typename T> class SmallVectorImpl;
 
 /// MCTargetAsmParser - Generic interface to target specific assembly parsers.
@@ -28,7 +29,8 @@ public:
     Match_InvalidOperand,
     Match_MissingFeature,
     Match_MnemonicFail,
-    Match_Success
+    Match_Success,
+    FIRST_TARGET_MATCH_RESULT_TY
   };
 
 private:
@@ -88,6 +90,12 @@ public:
                           SmallVectorImpl<MCParsedAsmOperand*> &Operands,
                           MCStreamer &Out) = 0;
 
+  /// checkTargetMatchPredicate - Validate the instruction match against
+  /// any complex target predicates not expressible via match classes.
+  virtual unsigned checkTargetMatchPredicate(MCInst &Inst) {
+    return Match_Success;
+  }
+
 };
 
 } // End llvm namespace