diff options
author | Yingwei Zheng <dtcxzyw2333@gmail.com> | 2025-10-05 14:02:00 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-10-05 14:02:00 +0800 |
commit | c41611bacb0ca72a283accd7680061421454e152 (patch) | |
tree | 8f8e31533b0f840f81d69cb115e2e6f07a9d1fa3 /llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp | |
parent | 92d83134b44161cad50198e663b543b46d25b45a (diff) | |
download | llvm-c41611bacb0ca72a283accd7680061421454e152.zip llvm-c41611bacb0ca72a283accd7680061421454e152.tar.gz llvm-c41611bacb0ca72a283accd7680061421454e152.tar.bz2 |
[InstCombine] Fix pointer replacement in `foldSelectValueEquivalence` (#161701)
Closes https://github.com/llvm/llvm-project/issues/161636.
Compile-time impact (+0.06%):
https://llvm-compile-time-tracker.com/compare.php?from=c2ef022aa7413ddc9aba48fa6fbe6fbd0cb14e19&to=9a0f0302efc30580136d191e66bac929f08ee25f&stat=instructions%3Au
I used to disable this fold for pointers, because I cannot construct a
positive test that is covered by `foldSelectValueEquivalence ` but not
covered by `simplifySelectWithICmpCond`. But the IR diff shows we still
benefit from the fold in InstCombine:
+ Bail out on pointers:
https://github.com/dtcxzyw/llvm-opt-benchmark/pull/2880
+ This patch: https://github.com/dtcxzyw/llvm-opt-benchmark/pull/2882
Diffstat (limited to 'llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp')
0 files changed, 0 insertions, 0 deletions