Displaying 2 results from an estimated 2 matches for "d76611".
2020 Apr 05
3
Branch is not optimized because of right shift
...version in https://godbolt.org/z/_ipKhb is probably the easiest for
analysis (basically the original C source code built with `clang -O0 -S
-emit-llvm`, followed by running `opt -mem2reg`). There’s a patch under
review that adds support for conditional range propagation (
https://reviews.llvm.org/D76611) and with the patch it can be simplified to
the code below by running `opt -ipsccp -simplifycfg -instcombine`
>
> define i32 @test(i32 %0) {
> %.off = add i32 %0, -16
> %2 = icmp ult i32 %.off, 12
> %spec.select = select i1 %2, i32 66, i32 45
> ret i32 %spec.select
> }...
2020 Apr 05
2
Branch is not optimized because of right shift
Hi John,
I hadn't seen alive2, amazing program, thank you! Keep up the good work.
> I'm not sure that I've captured what you mean here
To be more specific for everyone:
- First of all, I hope it's clear that in the original (C) code, the region
- 0x8 > 1000 branch should
be eliminated. That is because it is inside a block that has ensured that 8
< region < 12. But