diff options
author | Chris Lattner <sabre@nondot.org> | 2010-09-29 01:42:58 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-09-29 01:42:58 +0000 |
commit | 7036f8be4df8a1a830ca01afe9497b035a5647d6 (patch) | |
tree | 988a7686ada7344edc63fdffca9911de0356602d /lib/Target/ARM/AsmParser/ARMAsmParser.cpp | |
parent | 229207aa2edaeb872e9f987ad8df3a67455f240c (diff) |
change the protocol TargetAsmPArser::MatchInstruction method to take an
MCStreamer to emit into instead of an MCInst to fill in. This allows the
matcher extra flexibility and is more convenient.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115014 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/AsmParser/ARMAsmParser.cpp')
-rw-r--r-- | lib/Target/ARM/AsmParser/ARMAsmParser.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/Target/ARM/AsmParser/ARMAsmParser.cpp b/lib/Target/ARM/AsmParser/ARMAsmParser.cpp index 62712fc5be..6eb564bc56 100644 --- a/lib/Target/ARM/AsmParser/ARMAsmParser.cpp +++ b/lib/Target/ARM/AsmParser/ARMAsmParser.cpp @@ -80,16 +80,18 @@ private: bool ParseDirectiveSyntax(SMLoc L); - bool MatchInstruction(SMLoc IDLoc, + bool MatchAndEmitInstruction(SMLoc IDLoc, const SmallVectorImpl<MCParsedAsmOperand*> &Operands, - MCInst &Inst) { + MCStreamer &Out) { + MCInst Inst; unsigned ErrorInfo; - if (MatchInstructionImpl(Operands, Inst, ErrorInfo) == Match_Success) + if (MatchInstructionImpl(Operands, Inst, ErrorInfo) == Match_Success) { + Out.EmitInstruction(Inst); return false; + } // FIXME: We should give nicer diagnostics about the exact failure. Error(IDLoc, "unrecognized instruction"); - return true; } |