[all-commits] [llvm/llvm-project] 33761d: Revert "[SimpleLoopUnswitch] Record loops from uns...
Antonio Frighetto via All-commits
all-commits at lists.llvm.org
Mon Aug 18 08:41:55 PDT 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 33761df961627f9d057fa049509fc8ba8baaaf78
https://github.com/llvm/llvm-project/commit/33761df961627f9d057fa049509fc8ba8baaaf78
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-08-18 (Mon, 18 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
M llvm/test/Transforms/LICM/PR116813-memoryssa-outdated.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/block_scaling_decompr_8bit.ll
M llvm/test/Transforms/SimpleLoopUnswitch/exponential-nontrivial-unswitch-nested.ll
M llvm/test/Transforms/SimpleLoopUnswitch/exponential-nontrivial-unswitch-nested2.ll
M llvm/test/Transforms/SimpleLoopUnswitch/exponential-nontrivial-unswitch.ll
M llvm/test/Transforms/SimpleLoopUnswitch/exponential-switch-unswitch.ll
M llvm/test/Transforms/SimpleLoopUnswitch/guards.ll
M llvm/test/Transforms/SimpleLoopUnswitch/inject-invariant-conditions.ll
M llvm/test/Transforms/SimpleLoopUnswitch/invalidate-block-and-loop-dispositions.ll
M llvm/test/Transforms/SimpleLoopUnswitch/nontrivial-unswitch-freeze.ll
M llvm/test/Transforms/SimpleLoopUnswitch/nontrivial-unswitch-select.ll
M llvm/test/Transforms/SimpleLoopUnswitch/nontrivial-unswitch.ll
M llvm/test/Transforms/SimpleLoopUnswitch/partial-unswitch-loop-and-block-dispositions.ll
M llvm/test/Transforms/SimpleLoopUnswitch/partial-unswitch.ll
R llvm/test/Transforms/SimpleLoopUnswitch/pr138509.ll
M llvm/test/Transforms/SimpleLoopUnswitch/update-scev-3.ll
Log Message:
-----------
Revert "[SimpleLoopUnswitch] Record loops from unswitching non-trivial conditions"
This reverts commit e9de32fd159d30cfd6fcc861b57b7e99ec2742ab due to
multiple performance regressions observed across downstream Numba
benchmarks (https://github.com/llvm/llvm-project/issues/138509#issuecomment-3193855772).
While avoiding non-trivial unswitches on newly-cloned loops helps
mitigate the pathological case reported in https://github.com/llvm/llvm-project/issues/138509,
it may as well make the IR less friendly to vectorization / loop-
canonicalization (in the test reported, previously no select with
loop-carried dependence existed in the new specialized loops),
leading the abovementioned approach to be reconsidered.
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