[all-commits] [llvm/llvm-project] aa98e7: Revert "[InstCombine] Combine instructions of type...
alexfh via All-commits
all-commits at lists.llvm.org
Wed Jun 1 05:20:18 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: aa98e7e1eb960712533d39bbc98a05a6e70a9683
https://github.com/llvm/llvm-project/commit/aa98e7e1eb960712533d39bbc98a05a6e70a9683
Author: Alexander Kornienko <alexfh at google.com>
Date: 2022-06-01 (Wed, 01 Jun 2022)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/test/Transforms/InstCombine/and-or.ll
M llvm/test/Transforms/InstCombine/or.ll
Log Message:
-----------
Revert "[InstCombine] Combine instructions of type or/and where AND masks can be combined."
This reverts commit ec4adf1f6c333d3d36663d8f763c0896407f1b61. The commit causes
clang to hang on a certain input:
```
$ cat q.cc
int f(int a, int b) {
int c = ((unsigned char)(a >> 23) & 925);
if (a)
c = (a >> 23 & b) | ((unsigned char)(a >> 23) & 925) | (b >> 23 & 157);
return c;
}
$ time ./clang-15-10515 --target=x86_64--linux-gnu -O1 -c q.cc
^C
real 0m45.072s
user 0m0.025s
sys 0m0.099s
```
More information about the All-commits
mailing list