search for: isaddrecneverpoison

Displaying 3 results from an estimated 3 matches for "isaddrecneverpoison".

2018 May 10
2
LLVM SCEV isAddRecNeverPoison and strength reduction
...8, 2018 at 2:34 AM, Gal Zohar <Gal.Zohar at ceva-dsp.com> wrote: > I noticed that SCEV, when trying to perform strength reduction, doesn’t use > the ability to prove an induction variable does not signed/unsigned wrap due > to infinite loops. > > Is there an easy way to use the isAddRecNeverPoison function when > determining if strength reduction is possible? In getZeroExtendExpr. > > Is there a reason why this doesn’t happen? I guess your point is that in int foo(int a) { int sum = 0; for (short i = 0; i < a; i++) { sum++; } return sum; } either the loop is finit...
2019 Sep 29
3
ScalarEvolution invariants around wrapping flags
...he information everyone, it's clarified my thinking > significantly. With that better understanding I've tracked the problem > I'm seeing down to r366419 (https://reviews.llvm.org/D64868), which > got committed in July. > > To me it looks like the patch is invalid because isAddRecNeverPoison > is a loop-relative computation. To add the flags to the increment we'd > need to know that the loop is guaranteed to execute at least once, > which doesn't really have a query available. > > Does that sound right? And if so should we revert it or try to > incorporate a l...
2019 Sep 19
2
ScalarEvolution invariants around wrapping flags
On 9/19/2019 9:41 AM, Andrew Trick via llvm-dev wrote: > >> On Sep 18, 2019, at 8:17 PM, Sanjoy Das <sanjoy at playingwithpointers.com> wrote: >> >>> 1. Callers are expected to not engage in speculation. ScalarEvolution >>> itself must only create expressions it knows hold in all cases. >> This is correct. There is some more relevant text in >>