search for: scev2

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

Did you mean: scev
2018 May 10
2
ScalarEvolution questions
...ative 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 expose it as part of SCEV's public interface. >...
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 * (sext i32 %n.addr.058 to i64)))<nsw> SCEV2: 0 E...
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 something: > > SCEV1: (1 + (-1 * (sext i32 %n.addr.05...
2018 May 09
2
ScalarEvolution questions
...en 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. add) by ignore the cast(sext, zext, truc...
2018 May 10
0
ScalarEvolution questions
...gative 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 expose it as part of SCEV's public interface. >...
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;