Revert "[InstCombine] Simplify select operand based on equality condition"
authorBenjamin Kramer <benny.kra@googlemail.com>
Tue, 15 Sep 2020 10:22:47 +0000 (12:22 +0200)
committerBenjamin Kramer <benny.kra@googlemail.com>
Tue, 15 Sep 2020 10:22:47 +0000 (12:22 +0200)
commitb768546fe0cc1d320857a6e080d4c796efb0c00c
treeb83f66921ce97e1f276a7d2ff002e7be28a83aaa
parent9eab73fa17f5920178a87ee8a5021f4fd6f0f5ef
Revert "[InstCombine] Simplify select operand based on equality condition"

This reverts commit cfff88c03cf9e9b72906a41fd11e06721d54f293. Sends
instcombine into an infinite loop.

```
define i1 @foo(i32 %arg, i32 %arg1) {
bb:
  %tmp = udiv i32 %arg, %arg1
  %tmp2 = mul nsw i32 %tmp, %arg1
  %tmp3 = icmp eq i32 %tmp2, %arg
  %tmp4 = select i1 %tmp3, i32 %tmp, i32 undef
  %tmp5 = icmp sgt i32 %tmp4, 255
  ret i1 %tmp5
}
```
llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
llvm/test/Transforms/InstCombine/rem.ll
llvm/test/Transforms/InstCombine/select-binop-cmp.ll
llvm/test/Transforms/InstCombine/select.ll