[llvm] [BOLT] Remove workaround for flushPendingLabels (PR #97632)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 3 13:29:21 PDT 2024
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-bolt
Author: Fangrui Song (MaskRay)
<details>
<summary>Changes</summary>
The code emits an empty MCDataFragment to ensure that the labels are
attached to `SplitSection`. The workaround, due to the removed
`flushPendingLabels` mechanism (see
75006466296ed4b0f845cbbec4bf77c21de43b40), is now unneeded.
---
Full diff: https://github.com/llvm/llvm-project/pull/97632.diff
1 Files Affected:
- (modified) bolt/lib/Core/BinaryContext.cpp (-8)
``````````diff
diff --git a/bolt/lib/Core/BinaryContext.cpp b/bolt/lib/Core/BinaryContext.cpp
index f28a0cd6eb9c6..0a1f1bb9e0d20 100644
--- a/bolt/lib/Core/BinaryContext.cpp
+++ b/bolt/lib/Core/BinaryContext.cpp
@@ -2403,16 +2403,8 @@ BinaryContext::calculateEmittedSize(BinaryFunction &BF, bool FixBranches) {
Streamer->emitLabel(SplitStartLabel);
emitFunctionBody(*Streamer, BF, FF, /*EmitCodeOnly=*/true);
Streamer->emitLabel(SplitEndLabel);
- // To avoid calling MCObjectStreamer::flushPendingLabels() which is
- // private
- Streamer->emitBytes(StringRef(""));
- Streamer->switchSection(Section);
}
- // To avoid calling MCObjectStreamer::flushPendingLabels() which is private or
- // MCStreamer::Finish(), which does more than we want
- Streamer->emitBytes(StringRef(""));
-
MCAssembler &Assembler =
static_cast<MCObjectStreamer *>(Streamer.get())->getAssembler();
Assembler.layout();
``````````
</details>
https://github.com/llvm/llvm-project/pull/97632
More information about the llvm-commits
mailing list