diff options
author | Fangrui Song <i@maskray.me> | 2025-07-15 19:36:19 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-07-15 19:36:19 -0700 |
commit | 28e1473e8e523150914e8c7ea50b44fb0d2a8d65 (patch) | |
tree | c97e05aaa31885e87733f30ec742a71f5fda8f9c /llvm/lib/MC/MCStreamer.cpp | |
parent | 0f6a2db2594f5ffaf9bcd03f8233a850aa7d32af (diff) | |
download | llvm-28e1473e8e523150914e8c7ea50b44fb0d2a8d65.zip llvm-28e1473e8e523150914e8c7ea50b44fb0d2a8d65.tar.gz llvm-28e1473e8e523150914e8c7ea50b44fb0d2a8d65.tar.bz2 |
MC: Remove bundle alignment mode
The being-removed PNaCl has a Software Fault Isolation mechanism, which
requires that certain instructions and groups of instructions do not
cross a bundle boundary. When `.bundle_align_mode` is in effect, each
instruction is placed in its own fragment, allowing flexible NOP
padding.
This feature has significantly complicated our refactoring of MCStreamer
and MCFragment, leading to considerable effort spent untangling
it (including flushPendingLabels (75006466296ed4b0f845cbbec4bf77c21de43b40),
MCAssembler iteration improvement, and recent MCFragment refactoring).
* Make MCObjectStreamer::emitInstToData non-virtual and delete
MCELFStreamer::emitInstTodata
* Delete MCELFStreamer::emitValueImpl and emitValueToAlignment
Minor instructions:u decrease for both -O0 -g and -O3 builds
https://llvm-compile-time-tracker.com/compare.php?from=c06d3a7b728293cbc53ff91239d6cd87c0982ffb&to=9b078c7f228bc5b6cdbfe839f751c9407f8aec3e&stat=instructions:u
Pull Request: https://github.com/llvm/llvm-project/pull/148781
Diffstat (limited to 'llvm/lib/MC/MCStreamer.cpp')
-rw-r--r-- | llvm/lib/MC/MCStreamer.cpp | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/llvm/lib/MC/MCStreamer.cpp b/llvm/lib/MC/MCStreamer.cpp index 6d2fb41..d814ab88 100644 --- a/llvm/lib/MC/MCStreamer.cpp +++ b/llvm/lib/MC/MCStreamer.cpp @@ -1333,10 +1333,7 @@ void MCStreamer::emitCodeAlignment(Align Alignment, const MCSubtargetInfo *STI, unsigned MaxBytesToEmit) {} void MCStreamer::emitValueToOffset(const MCExpr *Offset, unsigned char Value, SMLoc Loc) {} -void MCStreamer::emitBundleAlignMode(Align Alignment) {} -void MCStreamer::emitBundleLock(bool AlignToEnd) {} void MCStreamer::finishImpl() {} -void MCStreamer::emitBundleUnlock() {} bool MCStreamer::popSection() { if (SectionStack.size() <= 1) |