search for: comparescevcomplex

Displaying 8 results from an estimated 8 matches for "comparescevcomplex".

2019 Jun 12
2
[RFC][SCEV] Behavior of AddRec in CompareSCEVComplexity
...pretty sure is that is there guarantee to exist dominance relation on their loop predecessor blocks. That is, either LPred dominates RPred or RPred dominate LPred? B.R. - Min On Tue, Jun 11, 2019 at 8:41 PM Michael Kruse <llvmdev at meinersbur.de> wrote: > Hi, > > if I understand CompareSCEVComplexity correctly, we just need some > deterministic order, not that important which one. We have three > cases: > > 1. LHead dominates RHead > 2. RHead dominates LHead > 3. There is no dominance relationship between the loops > > LHead dominating RHead can either mean that R is...
2019 Jun 11
3
[RFC][SCEV] Behavior of AddRec in CompareSCEVComplexity
Hi, Recently I got a crash when I tried to analysis a program with ScalarEvolution AliasAnalysis(SCEV-AA for short). It turns out to be a (possibly) incorrect assertion inside the CompareSCEVComplexity routine. The simplest solution would be just remove that assertion but I also found that the surrounding logics on calculating SCEV cost seems to be incorrect either. Thus I want to discuss with you folks about the best way to solve this. Here are the details: Setup Off-the-tip llvm-project, i...
2020 Mar 30
2
Scalar Evolution Expressions Involving Sibling Loops
...d here https://reviews.llvm.org/D75628#inline-689527. Basically in this case, the dependence equation requires us to symbolically create an expression involving two or more recurrences that recur with non-dominating loops (sibling loops). Currently creating such a SCEV expression trips asserts in `CompareSCEVComplexity()` and ` isKnownViaInduction()` saying that a given SCEV expression cannot be composed of recurrences that have no dominance relationship between them. Michael tried explaining to me why there is this restriction about dominance, and I'm beginning to understand why such restriction may be n...
2016 Oct 17
2
[SCEV] inconsistent operand ordering
...wn %q.012. The easiest way to reproduce the issue is to apply the attached se.patch to the compiler which changes the print function of ScalarEvolution to print in this particular order and then execute this- $ opt -analyze -scalar-evolution gep-phi.ll The root cause of this issue is the function CompareSCEVComplexity(). The ordering for instruction operands is not very robust as acknowledged by the comment for this particular piece of code- // For instructions, compare their loop depth, and their operand // count. This is pretty loose. Can this be fixed? Thanks, Pankaj -------------- next part -----------...
2020 Mar 30
2
Scalar Evolution Expressions Involving Sibling Loops
...two sibling loops with the same parent, one will frequently, but not always dominate the other.  Can you give a specific example of when forming a recurrence between two siblings (without one dominating the other), is useful? Currently creating such a SCEV expression trips asserts in ` CompareSCEVComplexity()` and `isKnownViaInduction()` saying that a given SCEV expression cannot be composed of recurrences that have no dominance relationship between them. Michael tried explaining to me why there is this restriction about dominance, and I'm beginning to understand why su...
2020 Apr 16
2
Scalar Evolution Expressions Involving Sibling Loops
...loops with the same parent, one will frequently, but not always dominate the other. Can you give a specific example of when forming a recurrence between two siblings (without one dominating the other), is useful? Currently creating such a SCEV expression trips asserts in ` CompareSCEVComplexity()` and `isKnownViaInduction()` saying that a given SCEV expression cannot be composed of recurrences that have no dominance relationship between them. Michael tried explaining to me why there is this restriction about dominance, and I'm beginn...
2020 Apr 17
2
Scalar Evolution Expressions Involving Sibling Loops
...arent, one will frequently, but not always dominate the other. Can you give a specific example of when forming a recurrence between two siblings (without one dominating the other), is useful? Currently creating such a SCEV expression trips asserts in `CompareSCEVComplexity()` and ` isKnownViaInduction()` saying that a given SCEV expression cannot be composed of recurrences that have no dominance relationship between them. Michael tried explaining to me why there is thi...
2016 Oct 18
2
[SCEV] inconsistent operand ordering
...uce the issue is to apply the attached > se.patch to the compiler which changes the print function of > ScalarEvolution to print in this particular order and then execute > this- > > $ opt -analyze -scalar-evolution gep-phi.ll > > The root cause of this issue is the function CompareSCEVComplexity(). > The ordering for instruction operands is not very robust as > acknowledged by the comment for this particular piece of code- > > // For instructions, compare their loop depth, and their operand > > // count. This is pretty loose. > > Can this be fixed? > > Th...