Skip to content

Commit 9e69e6b

Browse files
committed
[MC] createAsmStreamer: add overload without unused bool parameters
The bool parameters have been made ineffective in favor of MCTargetOptions options to resolve inconsistency issues. New clients should not pass the unused bool arguments. The existing overload will be removed.
1 parent 52e79ed commit 9e69e6b

File tree

3 files changed

+30
-18
lines changed

3 files changed

+30
-18
lines changed

llvm/include/llvm/MC/TargetRegistry.h

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -541,11 +541,14 @@ class Target {
541541

542542
MCStreamer *createAsmStreamer(MCContext &Ctx,
543543
std::unique_ptr<formatted_raw_ostream> OS,
544-
bool IsVerboseAsm, bool UseDwarfDirectory,
545-
MCInstPrinter *InstPrint,
546-
std::unique_ptr<MCCodeEmitter> &&CE,
547-
std::unique_ptr<MCAsmBackend> &&TAB,
548-
bool ShowInst) const;
544+
MCInstPrinter *IP,
545+
std::unique_ptr<MCCodeEmitter> CE,
546+
std::unique_ptr<MCAsmBackend> TAB) const;
547+
MCStreamer *
548+
createAsmStreamer(MCContext &Ctx, std::unique_ptr<formatted_raw_ostream> OS,
549+
bool IsVerboseAsm, bool UseDwarfDirectory,
550+
MCInstPrinter *IP, std::unique_ptr<MCCodeEmitter> &&CE,
551+
std::unique_ptr<MCAsmBackend> &&TAB, bool ShowInst) const;
549552

550553
MCTargetStreamer *createAsmTargetStreamer(MCStreamer &S,
551554
formatted_raw_ostream &OS,

llvm/lib/MC/MCAsmStreamer.cpp

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -72,9 +72,8 @@ class MCAsmStreamer final : public MCStreamer {
7272

7373
public:
7474
MCAsmStreamer(MCContext &Context, std::unique_ptr<formatted_raw_ostream> os,
75-
bool, bool, MCInstPrinter *printer,
76-
std::unique_ptr<MCCodeEmitter> emitter,
77-
std::unique_ptr<MCAsmBackend> asmbackend, bool)
75+
MCInstPrinter *printer, std::unique_ptr<MCCodeEmitter> emitter,
76+
std::unique_ptr<MCAsmBackend> asmbackend)
7877
: MCStreamer(Context), OSOwner(std::move(os)), OS(*OSOwner),
7978
MAI(Context.getAsmInfo()), InstPrinter(printer),
8079
Assembler(std::make_unique<MCAssembler>(
@@ -2663,7 +2662,6 @@ MCStreamer *llvm::createAsmStreamer(MCContext &Context,
26632662
std::unique_ptr<MCCodeEmitter> &&CE,
26642663
std::unique_ptr<MCAsmBackend> &&MAB,
26652664
bool ShowInst) {
2666-
return new MCAsmStreamer(Context, std::move(OS), isVerboseAsm,
2667-
useDwarfDirectory, IP, std::move(CE), std::move(MAB),
2668-
ShowInst);
2665+
return new MCAsmStreamer(Context, std::move(OS), IP, std::move(CE),
2666+
std::move(MAB));
26692667
}

llvm/lib/MC/TargetRegistry.cpp

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,10 @@
1111
#include "llvm/ADT/StringRef.h"
1212
#include "llvm/MC/MCAsmBackend.h"
1313
#include "llvm/MC/MCCodeEmitter.h"
14+
#include "llvm/MC/MCContext.h"
1415
#include "llvm/MC/MCObjectStreamer.h"
1516
#include "llvm/MC/MCObjectWriter.h"
17+
#include "llvm/MC/MCTargetOptions.h"
1618
#include "llvm/Support/raw_ostream.h"
1719
#include <cassert>
1820
#include <vector>
@@ -86,19 +88,28 @@ MCStreamer *Target::createMCObjectStreamer(
8688
std::move(Emitter), STI);
8789
}
8890

91+
MCStreamer *Target::createAsmStreamer(MCContext &Ctx,
92+
std::unique_ptr<formatted_raw_ostream> OS,
93+
MCInstPrinter *IP,
94+
std::unique_ptr<MCCodeEmitter> CE,
95+
std::unique_ptr<MCAsmBackend> TAB) const {
96+
formatted_raw_ostream &OSRef = *OS;
97+
MCStreamer *S = llvm::createAsmStreamer(Ctx, std::move(OS), false, false, IP,
98+
std::move(CE), std::move(TAB), false);
99+
auto *TO = Ctx.getTargetOptions();
100+
createAsmTargetStreamer(*S, OSRef, IP, TO && TO->AsmVerbose);
101+
return S;
102+
}
103+
89104
MCStreamer *Target::createAsmStreamer(MCContext &Ctx,
90105
std::unique_ptr<formatted_raw_ostream> OS,
91106
bool IsVerboseAsm, bool UseDwarfDirectory,
92-
MCInstPrinter *InstPrint,
107+
MCInstPrinter *IP,
93108
std::unique_ptr<MCCodeEmitter> &&CE,
94109
std::unique_ptr<MCAsmBackend> &&TAB,
95110
bool ShowInst) const {
96-
formatted_raw_ostream &OSRef = *OS;
97-
MCStreamer *S = llvm::createAsmStreamer(
98-
Ctx, std::move(OS), IsVerboseAsm, UseDwarfDirectory, InstPrint,
99-
std::move(CE), std::move(TAB), ShowInst);
100-
createAsmTargetStreamer(*S, OSRef, InstPrint, IsVerboseAsm);
101-
return S;
111+
return createAsmStreamer(Ctx, std::move(OS), IP, std::move(CE),
112+
std::move(TAB));
102113
}
103114

104115
iterator_range<TargetRegistry::iterator> TargetRegistry::targets() {

0 commit comments

Comments
 (0)