search for: d76611

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