Displaying 8 results from an estimated 8 matches for "isimpliedcond".
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.
>...
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 be...
2018 May 10
2
ScalarEvolution questions
...ecifically 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.
> 2) How to feed the relational information to SCEV, i.e. “a > b”.
>
> This relati...
2018 May 10
0
ScalarEvolution questions
...pecifically 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.
> 2) How to feed the relational information to SCEV, i.e. “a > b”.
>
> This relati...
2018 May 09
2
ScalarEvolution questions
Hi,
I'm new to ScalarEvolution and wanted to explore its capabilities.
I have following few questions:
1) How to compare SCEV expressions.
I have a situation to compare two SCEV to find the min among them.
Found an existing function(getMinFromExprs) in LoopAccessAnalysis which compares two SCEVs.
getMinFromExprs function finds the diff between two SCEV's and then checks for the negative
2013 Feb 08
0
[LLVMdev] Rotated loop identification
...s InstCombine really a necessary canonicalization before other passes). A bug report would be appropriate.
>
> It sounds to me that the same capabilities of InstCombine should be implemented
> also in the ScalarEvolution.
It's doable, just not pretty. We could special-case SCEV's isImpliedCond to look for an sdiv opcode and recognize the inverse of InstCombine's trick. I doubt it makes sense to add an SDIV operator to SCEV since SCEV would want to assume modulus division, and the IR sdiv is a truncating divide.
>> Absent a fix for the above problem, it is certainly possible fo...
2013 Feb 07
3
[LLVMdev] Rotated loop identification
> Thanks for the details. Please add them to a bug report.
I will do this.
> InstCombine is certainly interfering with our ability to analyze the loop. I think the problem is that ScalarEvolution cannot reason about signed division. This is a general problem independent of your target. At the moment I'm not sure if we can teach ScalarEvolution to reason about this, or if we can defer
2013 Feb 08
3
[LLVMdev] Rotated loop identification
...re other
> >> passes). A bug report would be appropriate.
> >
> > It sounds to me that the same capabilities of InstCombine should be
> > implemented
> > also in the ScalarEvolution.
>
> It's doable, just not pretty. We could special-case SCEV's
> isImpliedCond to look for an sdiv opcode and recognize the inverse
> of InstCombine's trick. I doubt it makes sense to add an SDIV
> operator to SCEV since SCEV would want to assume modulus division,
> and the IR sdiv is a truncating divide.
>
> >> Absent a fix for the above problem, it...