mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-11-02 22:23:10 +00:00
Construct the MCStreamer before constructing the MCTargetStreamer.
This has a few advantages: * Only targets that use a MCTargetStreamer have to worry about it. * There is never a MCTargetStreamer without a MCStreamer, so we can use a reference. * A MCTargetStreamer can talk to the MCStreamer in its constructor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200129 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -105,8 +105,10 @@ static MCStreamer *createMCStreamer(const Target &T, StringRef TT,
|
||||
MCContext &Context, MCAsmBackend &MAB,
|
||||
raw_ostream &OS, MCCodeEmitter *Emitter,
|
||||
bool RelaxAll, bool NoExecStack) {
|
||||
SparcTargetELFStreamer *S = new SparcTargetELFStreamer();
|
||||
return createELFStreamer(Context, S, MAB, OS, Emitter, RelaxAll, NoExecStack);
|
||||
MCStreamer *S =
|
||||
createELFStreamer(Context, MAB, OS, Emitter, RelaxAll, NoExecStack);
|
||||
new SparcTargetELFStreamer(*S);
|
||||
return S;
|
||||
}
|
||||
|
||||
static MCStreamer *
|
||||
@@ -114,11 +116,12 @@ createMCAsmStreamer(MCContext &Ctx, formatted_raw_ostream &OS,
|
||||
bool isVerboseAsm, bool useLoc, bool useCFI,
|
||||
bool useDwarfDirectory, MCInstPrinter *InstPrint,
|
||||
MCCodeEmitter *CE, MCAsmBackend *TAB, bool ShowInst) {
|
||||
SparcTargetAsmStreamer *S = new SparcTargetAsmStreamer(OS);
|
||||
|
||||
return llvm::createAsmStreamer(Ctx, S, OS, isVerboseAsm, useLoc, useCFI,
|
||||
useDwarfDirectory, InstPrint, CE, TAB,
|
||||
ShowInst);
|
||||
MCStreamer *S =
|
||||
llvm::createAsmStreamer(Ctx, OS, isVerboseAsm, useLoc, useCFI,
|
||||
useDwarfDirectory, InstPrint, CE, TAB, ShowInst);
|
||||
new SparcTargetAsmStreamer(*S, OS);
|
||||
return S;
|
||||
}
|
||||
|
||||
static MCInstPrinter *createSparcMCInstPrinter(const Target &T,
|
||||
|
||||
Reference in New Issue
Block a user