summaryrefslogtreecommitdiffstats
path: root/llvm/include
diff options
context:
space:
mode:
authorChad Rosier <mcrosier@apple.com>2012-10-02 21:49:07 +0000
committerChad Rosier <mcrosier@apple.com>2012-10-02 21:49:07 +0000
commit25f5cbcd13acc06c3b7d1cd9904b95b70cb4a641 (patch)
treeeabb50dccf916c4dfcacd3c55906c95378d07b89 /llvm/include
parentbb999c2f7200143f3e52f74d6d6c983161f0805b (diff)
downloadbcm5719-llvm-25f5cbcd13acc06c3b7d1cd9904b95b70cb4a641.tar.gz
bcm5719-llvm-25f5cbcd13acc06c3b7d1cd9904b95b70cb4a641.zip
[ms-inline asm] Add basic support for wildcard MCParsedAsmOperands. This type
of operand is specific to MS-style inline assembly and should not be generated when parsing normal assembly. The purpose of the wildcard operands are to allow the AsmParser to match multiple instructions (i.e., MCInsts) to a given ms-style asm statement. For the time being the matcher just returns the first match. This patch only implements wildcard matches for memory operands. Support for register wildcards will be added in the near future. llvm-svn: 165057
Diffstat (limited to 'llvm/include')
-rw-r--r--llvm/include/llvm/MC/MCParser/MCParsedAsmOperand.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/llvm/include/llvm/MC/MCParser/MCParsedAsmOperand.h b/llvm/include/llvm/MC/MCParser/MCParsedAsmOperand.h
index 0ce32d617ef..06e9dc90652 100644
--- a/llvm/include/llvm/MC/MCParser/MCParsedAsmOperand.h
+++ b/llvm/include/llvm/MC/MCParser/MCParsedAsmOperand.h
@@ -34,6 +34,13 @@ public:
/// isMem - Is this a memory operand?
virtual bool isMem() const = 0;
+ /// isMSAsmWildcard - Is this a wildcard operand? This is specific to
+ /// MS-style inline assembly and should never happen in normal assembly.
+ virtual bool isMSAsmWildcard() const { return false; }
+
+ /// setMSAsmWildcard - Convert the operand into a wildcard.
+ virtual void setMSAsmWildcard(unsigned Size) { }
+
/// getStartLoc - Get the location of the first token of this operand.
virtual SMLoc getStartLoc() const = 0;
/// getEndLoc - Get the location of the last token of this operand.
OpenPOWER on IntegriCloud