diff options
author | Yingwei Zheng <dtcxzyw2333@gmail.com> | 2023-09-11 02:26:48 +0800 |
---|---|---|
committer | Yingwei Zheng <dtcxzyw2333@gmail.com> | 2023-09-11 02:26:48 +0800 |
commit | 44e5afdb91b92dedfbd3100a3e73dab27de1c9cf (patch) | |
tree | 6bb4ed5000886268d15ae1769a8e19b6fceb2e63 /llvm/tools/llvm-objdump/llvm-objdump.cpp | |
parent | 32ad45556e9c673d2b6daba4a3b7993ad4e8e9ac (diff) | |
download | llvm-44e5afdb91b92dedfbd3100a3e73dab27de1c9cf.zip llvm-44e5afdb91b92dedfbd3100a3e73dab27de1c9cf.tar.gz llvm-44e5afdb91b92dedfbd3100a3e73dab27de1c9cf.tar.bz2 |
[InstCombine] Generalize foldICmpWithMinMax
This patch generalizes the fold of `icmp pred min/max(X, Y), Z` to address the issue https://github.com/llvm/llvm-project/issues/62898.
For example, we can fold `smin(X, Y) < Z` into `X < Z` when `Y > Z` is implied by constant folds/invariants/dom conditions.
Alive2 (with `--disable-undef-input` due to the limitation of --smt-to=10000): https://alive2.llvm.org/ce/z/rB7qLc
You can run the standalone translation validation tool `alive-tv` locally to verify these transformations.
```
alive-tv transforms.ll --smt-to=600000 --exit-on-error
```
Reviewed By: goldstein.w.n
Differential Revision: https://reviews.llvm.org/D156238
Diffstat (limited to 'llvm/tools/llvm-objdump/llvm-objdump.cpp')
0 files changed, 0 insertions, 0 deletions