[llvm-branch-commits] [llvm] [ConstantTime] Native ct.select support for ARM32 and Thumb (PR #166707)
Thomas Bizet via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Wed Sep 23 02:11:54 PDT 2026
================
@@ -580,11 +580,13 @@ void ARMPassConfig::addPreSched2() {
void ARMPassConfig::addPreEmitPass() {
addPass(createThumb2SizeReductionPass());
- // Always unpack bundles for:
+ // Unpack bundles for:
// - Thumb2: Constant island pass requires unbundled instructions
// - KCFI: KCFI_CHECK pseudo instructions need to be unbundled for AsmPrinter
- // - CT_SELECT: Post-RA expansion creates bundles that must be unpacked
- addPass(createUnpackMachineBundlesLegacy(nullptr));
----------------
tbizetst wrote:
With that change, BUNDLE pseudo-instructions are no longer unpacked on Thumb-1 . The generated code for CT_SELECT is then incomplete.
It looks like an inadvertent revert of the changes introduced by "[LLVM][ARM] Add native ct.select support for ARM32 and Thumb." Re-enabling the pass unconditionally fixes the issue.
https://github.com/llvm/llvm-project/pull/166707
More information about the llvm-branch-commits
mailing list