search for: scev1

Displaying 6 results from an estimated 6 matches for "scev1".

Did you mean: scev
2018 May 10
2
ScalarEvolution questions
...between two SCEV’s and then > checks for the negative value to find the minimum. > > While checking the negative value it specifically look for SCEVConstant. > > Do we have anything to find the min in case of NON-SCEVConstant (with > some additional information), i.e.: > > SCEV1: (sext i32 (-1 + %n.addr.0) to i64) > > SCEV2: 0 > > Extra information “n.addr.0 > 1” There is ScalarEvolution::isImpliedCond -- using it you can ask the question "n.addr.0 > 1" implies SCEV1 != SCEV2. However this is private to SCEV and I don't think we should exp...
2018 May 16
0
ScalarEvolution questions
Hi Sanjoy, Your inputs really helped. Using “isImpliedCond”, able to relate and find the min for cases like: SCEV1: (-1 + (sext i32 %n.addr.058 to i64))<nsw> SCEV2: 0 Extra-Condition: (n.addr.058 > 7) Result: ‘0’ (SCEV2) I have another case where trying to find min between two SCEVs under an extra condition. “isImpliedCond” is not helping for below case, may be I’m missing something: SCEV1: (1 + (-1...
2018 May 16
1
ScalarEvolution questions
On Wed, May 16, 2018 at 1:24 AM, Nema, Ashutosh <Ashutosh.Nema at amd.com> wrote: > Hi Sanjoy, > > Your inputs really helped. > > Using “isImpliedCond”, able to relate and find the min for cases like: > > SCEV1: (-1 + (sext i32 %n.addr.058 to i64))<nsw> > SCEV2: 0 > Extra-Condition: (n.addr.058 > 7) > Result: ‘0’ (SCEV2) > > I have another case where trying to find min between two SCEVs under an extra condition. > “isImpliedCond” is not helping for below case, may be I’m missing...
2018 May 09
2
ScalarEvolution questions
...MinFromExprs function finds the diff between two SCEV's and then checks for the negative value to find the minimum. While checking the negative value it specifically look for SCEVConstant. Do we have anything to find the min in case of NON-SCEVConstant (with some additional information), i.e.: SCEV1: (sext i32 (-1 + %n.addr.0) to i64) SCEV2: 0 Extra information "n.addr.0 > 1" 2) How to feed the relational information to SCEV, i.e. "a > b". This relational information may not be explicitly available in the program. 3) Is there any way in SCEV to force the compute(i.e...
2018 May 10
0
ScalarEvolution questions
...f between two SCEV’s and then checks > for the negative value to find the minimum. > > While checking the negative value it specifically look for SCEVConstant. > > Do we have anything to find the min in case of NON-SCEVConstant (with some > additional information), i.e.: > > SCEV1: (sext i32 (-1 + %n.addr.0) to i64) > > SCEV2: 0 > > Extra information “n.addr.0 > 1” There is ScalarEvolution::isImpliedCond -- using it you can ask the question "n.addr.0 > 1" implies SCEV1 != SCEV2. However this is private to SCEV and I don't think we should exp...
2016 Sep 02
2
ScalarEvolution pass and interprocedural analysis
Hello all, I was looking for an analysis pass that could provide comprehensive information on pointer arithmetic in the context of whole-program optimization. It seems that Scalar Evolution provides exactly what I'm looking for, but it is restricted to only intraprocedural analysis. E.g., consider this toy snippet: void foo(int* p) { (*p)++; } int bar() { int i; for (i = 0; i < n;