diff options
| author | Chris Lattner <sabre@nondot.org> | 2010-01-14 21:32:45 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2010-01-14 21:32:45 +0000 |
| commit | f66e4ebbdc4bf8d6d48f3d17c4595824c95bc180 (patch) | |
| tree | 160266f7633dd098ef1832bc10ce143f3341ecb3 | |
| parent | 663cf2c35b96b853c0a04ff6abf3222b974a3b4e (diff) | |
| download | external_llvm-f66e4ebbdc4bf8d6d48f3d17c4595824c95bc180.zip external_llvm-f66e4ebbdc4bf8d6d48f3d17c4595824c95bc180.tar.gz external_llvm-f66e4ebbdc4bf8d6d48f3d17c4595824c95bc180.tar.bz2 | |
prune #includes in TargetAsmParser.h
Pass in SMLoc of instr opcode into ParseInstruction.
Make AsmToken be a class, not a struct.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93457 91177308-0d34-0410-b5e6-96231b3b80d8
| -rw-r--r-- | include/llvm/MC/MCAsmLexer.h | 3 | ||||
| -rw-r--r-- | include/llvm/MC/MCParsedAsmOperand.h | 4 | ||||
| -rw-r--r-- | include/llvm/Target/TargetAsmParser.h | 7 | ||||
| -rw-r--r-- | lib/Target/ARM/AsmParser/ARMAsmParser.cpp | 6 | ||||
| -rw-r--r-- | lib/Target/X86/AsmParser/X86AsmParser.cpp | 6 | ||||
| -rw-r--r-- | tools/llvm-mc/AsmParser.cpp | 2 |
6 files changed, 17 insertions, 11 deletions
diff --git a/include/llvm/MC/MCAsmLexer.h b/include/llvm/MC/MCAsmLexer.h index da471d2..e9a6e3f 100644 --- a/include/llvm/MC/MCAsmLexer.h +++ b/include/llvm/MC/MCAsmLexer.h @@ -20,7 +20,8 @@ class SMLoc; class Target; /// AsmToken - Target independent representation for an assembler token. -struct AsmToken { +class AsmToken { +public: enum TokenKind { // Markers Eof, Error, diff --git a/include/llvm/MC/MCParsedAsmOperand.h b/include/llvm/MC/MCParsedAsmOperand.h index 7c9e9e6..847ab43 100644 --- a/include/llvm/MC/MCParsedAsmOperand.h +++ b/include/llvm/MC/MCParsedAsmOperand.h @@ -18,8 +18,8 @@ namespace llvm { /// between parsing an asm instruction and recognizing it. class MCParsedAsmOperand { public: - MCParsedAsmOperand(); - virtual ~MCParsedAsmOperand() = 0; + MCParsedAsmOperand() {} + virtual ~MCParsedAsmOperand() {} // TODO: Out of line vfun. }; diff --git a/include/llvm/Target/TargetAsmParser.h b/include/llvm/Target/TargetAsmParser.h index ef1fc49..a265610 100644 --- a/include/llvm/Target/TargetAsmParser.h +++ b/include/llvm/Target/TargetAsmParser.h @@ -10,13 +10,13 @@ #ifndef LLVM_TARGET_TARGETPARSER_H #define LLVM_TARGET_TARGETPARSER_H -#include "llvm/MC/MCAsmLexer.h" - namespace llvm { class MCAsmParser; class MCInst; class StringRef; class Target; +class SMLoc; +class AsmToken; /// TargetAsmParser - Generic interface to target specific assembly parsers. class TargetAsmParser { @@ -45,7 +45,8 @@ public: /// \param Name - The instruction name. /// \param Inst [out] - On success, the parsed instruction. /// \return True on failure. - virtual bool ParseInstruction(const StringRef &Name, MCInst &Inst) = 0; + virtual bool ParseInstruction(const StringRef &Name, SMLoc NameLoc, + MCInst &Inst) = 0; /// ParseDirective - Parse a target specific assembler directive /// diff --git a/lib/Target/ARM/AsmParser/ARMAsmParser.cpp b/lib/Target/ARM/AsmParser/ARMAsmParser.cpp index db77685..9288384 100644 --- a/lib/Target/ARM/AsmParser/ARMAsmParser.cpp +++ b/lib/Target/ARM/AsmParser/ARMAsmParser.cpp @@ -95,7 +95,8 @@ public: ARMAsmParser(const Target &T, MCAsmParser &_Parser) : TargetAsmParser(T), Parser(_Parser) {} - virtual bool ParseInstruction(const StringRef &Name, MCInst &Inst); + virtual bool ParseInstruction(const StringRef &Name, SMLoc NameLoc, + MCInst &Inst); virtual bool ParseDirective(AsmToken DirectiveID); }; @@ -579,7 +580,8 @@ bool ARMAsmParser::ParseOperand(ARMOperand &Op) { } /// Parse an arm instruction mnemonic followed by its operands. -bool ARMAsmParser::ParseInstruction(const StringRef &Name, MCInst &Inst) { +bool ARMAsmParser::ParseInstruction(const StringRef &Name, SMLoc NameLoc, + MCInst &Inst) { SmallVector<ARMOperand, 7> Operands; Operands.push_back(ARMOperand::CreateToken(Name)); diff --git a/lib/Target/X86/AsmParser/X86AsmParser.cpp b/lib/Target/X86/AsmParser/X86AsmParser.cpp index 1237c45..d431aa6 100644 --- a/lib/Target/X86/AsmParser/X86AsmParser.cpp +++ b/lib/Target/X86/AsmParser/X86AsmParser.cpp @@ -60,7 +60,8 @@ public: X86ATTAsmParser(const Target &T, MCAsmParser &_Parser) : TargetAsmParser(T), Parser(_Parser) {} - virtual bool ParseInstruction(const StringRef &Name, MCInst &Inst); + virtual bool ParseInstruction(const StringRef &Name, SMLoc NameLoc, + MCInst &Inst); virtual bool ParseDirective(AsmToken DirectiveID); }; @@ -401,7 +402,8 @@ bool X86ATTAsmParser::ParseMemOperand(X86Operand &Op) { return false; } -bool X86ATTAsmParser::ParseInstruction(const StringRef &Name, MCInst &Inst) { +bool X86ATTAsmParser::ParseInstruction(const StringRef &Name, + SMLoc NameLoc, MCInst &Inst) { SmallVector<X86Operand, 8> Operands; Operands.push_back(X86Operand::CreateToken(Name)); diff --git a/tools/llvm-mc/AsmParser.cpp b/tools/llvm-mc/AsmParser.cpp index 1204a00..4ef3a7f 100644 --- a/tools/llvm-mc/AsmParser.cpp +++ b/tools/llvm-mc/AsmParser.cpp @@ -711,7 +711,7 @@ bool AsmParser::ParseStatement() { } MCInst Inst; - if (getTargetParser().ParseInstruction(IDVal, Inst)) + if (getTargetParser().ParseInstruction(IDVal, IDLoc, Inst)) return true; if (Lexer.isNot(AsmToken::EndOfStatement)) |
