[all-commits] [llvm/llvm-project] 28e147: MC: Remove bundle alignment mode
Fangrui Song via All-commits
all-commits at lists.llvm.org
Tue Jul 15 19:36:40 PDT 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 28e1473e8e523150914e8c7ea50b44fb0d2a8d65
https://github.com/llvm/llvm-project/commit/28e1473e8e523150914e8c7ea50b44fb0d2a8d65
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/MC/MCAssembler.h
M llvm/include/llvm/MC/MCELFStreamer.h
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/include/llvm/MC/MCSection.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCELFStreamer.cpp
M llvm/lib/MC/MCFragment.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCSection.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
R llvm/test/MC/ARM/AlignedBundling/group-bundle-arm.s
R llvm/test/MC/ARM/AlignedBundling/illegal-subtarget-change.s
R llvm/test/MC/ARM/AlignedBundling/lit.local.cfg
R llvm/test/MC/ARM/AlignedBundling/pad-align-to-bundle-end.s
R llvm/test/MC/ARM/AlignedBundling/subtarget-change.s
M llvm/test/MC/AsmParser/AArch64/directive-parse-err.s
R llvm/test/MC/X86/AlignedBundling/align-mode-argument-error.s
R llvm/test/MC/X86/AlignedBundling/asm-printing-bundle-directives.s
R llvm/test/MC/X86/AlignedBundling/autogen-inst-offset-align-to-end.s
R llvm/test/MC/X86/AlignedBundling/autogen-inst-offset-padding.s
R llvm/test/MC/X86/AlignedBundling/bundle-group-too-large-error.s
R llvm/test/MC/X86/AlignedBundling/bundle-lock-option-error.s
R llvm/test/MC/X86/AlignedBundling/bundle-subtarget-change-error.s
R llvm/test/MC/X86/AlignedBundling/different-sections.s
R llvm/test/MC/X86/AlignedBundling/labeloffset.s
R llvm/test/MC/X86/AlignedBundling/lit.local.cfg
R llvm/test/MC/X86/AlignedBundling/lock-without-bundle-mode-error.s
R llvm/test/MC/X86/AlignedBundling/long-nop-pad.s
R llvm/test/MC/X86/AlignedBundling/misaligned-bundle-group.s
R llvm/test/MC/X86/AlignedBundling/misaligned-bundle.s
R llvm/test/MC/X86/AlignedBundling/nesting.s
R llvm/test/MC/X86/AlignedBundling/pad-align-to-bundle-end.s
R llvm/test/MC/X86/AlignedBundling/pad-bundle-groups.s
R llvm/test/MC/X86/AlignedBundling/relax-at-bundle-end.s
R llvm/test/MC/X86/AlignedBundling/relax-in-bundle-group.s
R llvm/test/MC/X86/AlignedBundling/section-alignment.s
R llvm/test/MC/X86/AlignedBundling/single-inst-bundling.s
R llvm/test/MC/X86/AlignedBundling/switch-section-locked-error.s
R llvm/test/MC/X86/AlignedBundling/unlock-without-lock-error.s
R llvm/test/MC/X86/align-branch-bundle.s
Log Message:
-----------
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
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list