Skip to content

Commit b201ab8

Browse files
committed
[MC] Move setIncrementalLinkerCompatible() calls to MCWinCOFFStreamer
Similar to setRelaxAll (45b59cb).
1 parent 06d2176 commit b201ab8

File tree

4 files changed

+11
-14
lines changed

4 files changed

+11
-14
lines changed

llvm/lib/MC/MCWinCOFFStreamer.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
#include "llvm/MC/MCObjectWriter.h"
2828
#include "llvm/MC/MCSectionCOFF.h"
2929
#include "llvm/MC/MCSymbolCOFF.h"
30+
#include "llvm/MC/MCTargetOptions.h"
3031
#include "llvm/Support/Casting.h"
3132
#include "llvm/Support/ErrorHandling.h"
3233
#include "llvm/Support/MathExtras.h"
@@ -45,7 +46,11 @@ MCWinCOFFStreamer::MCWinCOFFStreamer(MCContext &Context,
4546
std::unique_ptr<MCCodeEmitter> CE,
4647
std::unique_ptr<MCObjectWriter> OW)
4748
: MCObjectStreamer(Context, std::move(MAB), std::move(OW), std::move(CE)),
48-
CurSymbol(nullptr) {}
49+
CurSymbol(nullptr) {
50+
auto *TO = Context.getTargetOptions();
51+
if (TO && TO->MCIncrementalLinkerCompatible)
52+
getAssembler().setIncrementalLinkerCompatible(true);
53+
}
4954

5055
void MCWinCOFFStreamer::emitInstToData(const MCInst &Inst,
5156
const MCSubtargetInfo &STI) {

llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFStreamer.cpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -295,8 +295,6 @@ MCWinCOFFStreamer *llvm::createAArch64WinCOFFStreamer(
295295
MCContext &Context, std::unique_ptr<MCAsmBackend> MAB,
296296
std::unique_ptr<MCObjectWriter> OW, std::unique_ptr<MCCodeEmitter> Emitter,
297297
bool IncrementalLinkerCompatible) {
298-
auto *S = new AArch64WinCOFFStreamer(Context, std::move(MAB),
299-
std::move(Emitter), std::move(OW));
300-
S->getAssembler().setIncrementalLinkerCompatible(IncrementalLinkerCompatible);
301-
return S;
298+
return new AArch64WinCOFFStreamer(Context, std::move(MAB), std::move(Emitter),
299+
std::move(OW));
302300
}

llvm/lib/Target/ARM/MCTargetDesc/ARMWinCOFFStreamer.cpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -72,10 +72,8 @@ llvm::createARMWinCOFFStreamer(MCContext &Context,
7272
std::unique_ptr<MCObjectWriter> &&OW,
7373
std::unique_ptr<MCCodeEmitter> &&Emitter,
7474
bool IncrementalLinkerCompatible) {
75-
auto *S = new ARMWinCOFFStreamer(Context, std::move(MAB), std::move(Emitter),
76-
std::move(OW));
77-
S->getAssembler().setIncrementalLinkerCompatible(IncrementalLinkerCompatible);
78-
return S;
75+
return new ARMWinCOFFStreamer(Context, std::move(MAB), std::move(Emitter),
76+
std::move(OW));
7977
}
8078

8179
namespace {

llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFStreamer.cpp

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -77,9 +77,5 @@ MCStreamer *llvm::createX86WinCOFFStreamer(MCContext &C,
7777
std::unique_ptr<MCObjectWriter> &&OW,
7878
std::unique_ptr<MCCodeEmitter> &&CE,
7979
bool IncrementalLinkerCompatible) {
80-
X86WinCOFFStreamer *S =
81-
new X86WinCOFFStreamer(C, std::move(AB), std::move(CE), std::move(OW));
82-
S->getAssembler().setIncrementalLinkerCompatible(IncrementalLinkerCompatible);
83-
return S;
80+
return new X86WinCOFFStreamer(C, std::move(AB), std::move(CE), std::move(OW));
8481
}
85-

0 commit comments

Comments
 (0)