Issue |
152237
|
Summary |
Missed optimization: fold (n*x-n)/n to x-1
|
Labels |
new issue
|
Assignees |
|
Reporter |
zxt5
|
```
define i8 @src(i8 %0) {
%2 = mul nsw i8 %0, 40
%3 = add nsw i8 %2, -40
%4 = udiv exact i8 %3, 40
ret i8 %4
}
define i8 @tgt(i8 %0) {
%2 = sub nsw i8 %0, 1
ret i8 %2
}
```
Alive2: https://alive2.llvm.org/ce/z/X3YdJu
Godbolt: https://godbolt.org/z/db1WvTGjc
Found this pattern in https://raw.githubusercontent.com/dtcxzyw/llvm-opt-benchmark/refs/heads/main/bench/llvm/optimized/AsmParser.ll#:~:text=10%20to%20i64-,%25,-.idx%20%3D%20mul%20nuw
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs