mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-11-02 07:11:49 +00:00
MC: Move several clients to using AsmParser constructor function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108645 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
346cc61cd2
commit
9fbb37e10d
@ -22,7 +22,6 @@
|
||||
#include "llvm/MC/MCAsmInfo.h"
|
||||
#include "llvm/MC/MCStreamer.h"
|
||||
#include "llvm/MC/MCSymbol.h"
|
||||
#include "llvm/MC/MCParser/AsmParser.h"
|
||||
#include "llvm/Target/TargetAsmParser.h"
|
||||
#include "llvm/Target/TargetMachine.h"
|
||||
#include "llvm/Target/TargetRegistry.h"
|
||||
@ -72,16 +71,18 @@ void AsmPrinter::EmitInlineAsm(StringRef Str, unsigned LocCookie) const {
|
||||
// Tell SrcMgr about this buffer, it takes ownership of the buffer.
|
||||
SrcMgr.AddNewSourceBuffer(Buffer, SMLoc());
|
||||
|
||||
AsmParser Parser(TM.getTarget(), SrcMgr, OutContext, OutStreamer, *MAI);
|
||||
OwningPtr<TargetAsmParser> TAP(TM.getTarget().createAsmParser(Parser));
|
||||
OwningPtr<MCAsmParser> Parser(createMCAsmParser(TM.getTarget(), SrcMgr,
|
||||
OutContext, OutStreamer,
|
||||
*MAI));
|
||||
OwningPtr<TargetAsmParser> TAP(TM.getTarget().createAsmParser(*Parser));
|
||||
if (!TAP)
|
||||
report_fatal_error("Inline asm not supported by this streamer because"
|
||||
" we don't have an asm parser for this target\n");
|
||||
Parser.setTargetParser(*TAP.get());
|
||||
Parser->setTargetParser(*TAP.get());
|
||||
|
||||
// Don't implicitly switch to the text section before the asm.
|
||||
int Res = Parser.Run(/*NoInitialTextSection*/ true,
|
||||
/*NoFinalize*/ true);
|
||||
int Res = Parser->Run(/*NoInitialTextSection*/ true,
|
||||
/*NoFinalize*/ true);
|
||||
if (Res && !HasDiagHandler)
|
||||
report_fatal_error("Error parsing inline asm\n");
|
||||
}
|
||||
|
@ -27,7 +27,6 @@
|
||||
#include "llvm/MC/MCInstPrinter.h"
|
||||
#include "llvm/MC/MCStreamer.h"
|
||||
#include "llvm/MC/MCParser/AsmLexer.h"
|
||||
#include "llvm/MC/MCParser/AsmParser.h"
|
||||
#include "llvm/MC/MCParser/MCAsmParser.h"
|
||||
#include "llvm/MC/MCParser/MCParsedAsmOperand.h"
|
||||
#include "llvm/Support/MemoryBuffer.h"
|
||||
@ -364,11 +363,13 @@ int EDDisassembler::parseInst(SmallVectorImpl<MCParsedAsmOperand*> &operands,
|
||||
sourceMgr.AddNewSourceBuffer(buf, SMLoc()); // ownership of buf handed over
|
||||
MCContext context(*AsmInfo);
|
||||
OwningPtr<MCStreamer> streamer(createNullStreamer(context));
|
||||
AsmParser genericParser(*Tgt, sourceMgr, context, *streamer, *AsmInfo);
|
||||
OwningPtr<TargetAsmParser> TargetParser(Tgt->createAsmParser(genericParser));
|
||||
OwningPtr<MCAsmParser> genericParser(createMCAsmParser(*Tgt, sourceMgr,
|
||||
context, *streamer,
|
||||
*AsmInfo));
|
||||
OwningPtr<TargetAsmParser> TargetParser(Tgt->createAsmParser(*genericParser));
|
||||
|
||||
AsmToken OpcodeToken = genericParser.Lex();
|
||||
AsmToken NextToken = genericParser.Lex(); // consume next token, because specificParser expects us to
|
||||
AsmToken OpcodeToken = genericParser->Lex();
|
||||
AsmToken NextToken = genericParser->Lex(); // consume next token, because specificParser expects us to
|
||||
|
||||
if (OpcodeToken.is(AsmToken::Identifier)) {
|
||||
instName = OpcodeToken.getString();
|
||||
|
@ -12,13 +12,13 @@
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "llvm/MC/MCParser/AsmLexer.h"
|
||||
#include "llvm/MC/MCParser/MCAsmLexer.h"
|
||||
#include "llvm/MC/MCContext.h"
|
||||
#include "llvm/MC/MCCodeEmitter.h"
|
||||
#include "llvm/MC/MCInstPrinter.h"
|
||||
#include "llvm/MC/MCSectionMachO.h"
|
||||
#include "llvm/MC/MCStreamer.h"
|
||||
#include "llvm/MC/MCParser/AsmParser.h"
|
||||
#include "llvm/Target/TargetAsmBackend.h"
|
||||
#include "llvm/Target/TargetAsmParser.h"
|
||||
#include "llvm/Target/TargetData.h"
|
||||
@ -312,17 +312,18 @@ static int AssembleInput(const char *ProgName) {
|
||||
Str.reset(createLoggingStreamer(Str.take(), errs()));
|
||||
}
|
||||
|
||||
AsmParser Parser(*TheTarget, SrcMgr, Ctx, *Str.get(), *MAI);
|
||||
OwningPtr<TargetAsmParser> TAP(TheTarget->createAsmParser(Parser));
|
||||
OwningPtr<MCAsmParser> Parser(createMCAsmParser(*TheTarget, SrcMgr, Ctx,
|
||||
*Str.get(), *MAI));
|
||||
OwningPtr<TargetAsmParser> TAP(TheTarget->createAsmParser(*Parser));
|
||||
if (!TAP) {
|
||||
errs() << ProgName
|
||||
<< ": error: this target does not support assembly parsing.\n";
|
||||
return 1;
|
||||
}
|
||||
|
||||
Parser.setTargetParser(*TAP.get());
|
||||
Parser->setTargetParser(*TAP.get());
|
||||
|
||||
int Res = Parser.Run(NoInitialTextSection);
|
||||
int Res = Parser->Run(NoInitialTextSection);
|
||||
delete Out;
|
||||
|
||||
// Delete output on errors.
|
||||
|
Loading…
Reference in New Issue
Block a user