Skip to content

Commit 62d44fb

Browse files
committed
[MC] Remove setUseAssemblerInfoForParsing(false) workarounds
This reverts commit 245491a ("[MC] Disable MCAssembler based constant folding for DwarfDebug") and cb09b5f ("[MC] Disable MCAssembler based constant folding for compact unwind and emitJumpTableEntry"). Checking the relative order of FA and FB is now faster due to de19f7b ("[MC] Replace fragment ilist with singly-linked lists").
1 parent 8599629 commit 62d44fb

File tree

2 files changed

+0
-14
lines changed

2 files changed

+0
-14
lines changed

llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2463,15 +2463,11 @@ bool AsmPrinter::doFinalization(Module &M) {
24632463
emitGlobalIFunc(M, IFunc);
24642464

24652465
// Finalize debug and EH information.
2466-
// Defer MCAssembler based constant folding due to a performance issue. The
2467-
// label differences will be evaluated at write time.
2468-
OutStreamer->setUseAssemblerInfoForParsing(false);
24692466
for (const HandlerInfo &HI : Handlers) {
24702467
NamedRegionTimer T(HI.TimerName, HI.TimerDescription, HI.TimerGroupName,
24712468
HI.TimerGroupDescription, TimePassesIsEnabled);
24722469
HI.Handler->endModule();
24732470
}
2474-
OutStreamer->setUseAssemblerInfoForParsing(true);
24752471

24762472
// This deletes all the ephemeral handlers that AsmPrinter added, while
24772473
// keeping all the user-added handlers alive until the AsmPrinter is
@@ -2803,10 +2799,8 @@ void AsmPrinter::emitJumpTableInfo() {
28032799

28042800
// Defer MCAssembler based constant folding due to a performance issue. The
28052801
// label differences will be evaluated at write time.
2806-
OutStreamer->setUseAssemblerInfoForParsing(false);
28072802
for (const MachineBasicBlock *MBB : JTBBs)
28082803
emitJumpTableEntry(MJTI, MBB, JTI);
2809-
OutStreamer->setUseAssemblerInfoForParsing(true);
28102804
}
28112805
if (!JTInDiffSection)
28122806
OutStreamer->emitDataRegion(MCDR_DataRegionEnd);

llvm/lib/MC/MCDwarf.cpp

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1865,14 +1865,6 @@ void MCDwarfFrameEmitter::Emit(MCObjectStreamer &Streamer, MCAsmBackend *MAB,
18651865
FrameEmitterImpl Emitter(IsEH, Streamer);
18661866
ArrayRef<MCDwarfFrameInfo> FrameArray = Streamer.getDwarfFrameInfos();
18671867

1868-
// Disable AttemptToFoldSymbolOffsetDifference folding of EmitCompactUnwind
1869-
// and fdeStart-cieStart for EmitFDE due to the the performance issue. The
1870-
// label differences will be evaluate at write time.
1871-
assert(Streamer.getUseAssemblerInfoForParsing());
1872-
Streamer.setUseAssemblerInfoForParsing(false);
1873-
auto Enable = llvm::make_scope_exit(
1874-
[&]() { Streamer.setUseAssemblerInfoForParsing(true); });
1875-
18761868
// Emit the compact unwind info if available.
18771869
bool NeedsEHFrameSection = !MOFI->getSupportsCompactUnwindWithoutEHFrame();
18781870
if (IsEH && MOFI->getCompactUnwindSection()) {

0 commit comments

Comments
 (0)