diff options
author | Juneyoung Lee <aqjune@gmail.com> | 2020-08-07 21:12:52 +0900 |
---|---|---|
committer | Juneyoung Lee <aqjune@gmail.com> | 2020-08-08 15:22:29 +0900 |
commit | b6d9add71b1a7bc77ce504ed09a43288ca67c0cd (patch) | |
tree | dc6824bea08d2ec56131b535eb275a1fd74500cd /llvm/unittests/Support/FileCheckTest.cpp | |
parent | 5d59385ba67ec20dc4a3e13b9a7088ace970df4d (diff) | |
download | llvm-b6d9add71b1a7bc77ce504ed09a43288ca67c0cd.zip llvm-b6d9add71b1a7bc77ce504ed09a43288ca67c0cd.tar.gz llvm-b6d9add71b1a7bc77ce504ed09a43288ca67c0cd.tar.bz2 |
[InstCombine] Optimize select(freeze(icmp eq/ne x, y), x, y)
This patch adds an optimization that folds select(freeze(icmp eq/ne x, y), x, y)
to x or y.
This was needed to resolve slowdown after D84940 is applied.
I tried to bake this logic into foldSelectInstWithICmp, but it wasn't clear.
This patch conservatively writes the pattern in a separate function,
foldSelectWithFrozenICmp.
The output does not need freeze; https://alive2.llvm.org/ce/z/X49hNE (from @nikic)
Reviewed By: nikic
Differential Revision: https://reviews.llvm.org/D85533
Diffstat (limited to 'llvm/unittests/Support/FileCheckTest.cpp')
0 files changed, 0 insertions, 0 deletions