[PATCH] D14240: Allow Loop Distribute and the loop versioning infrastructure to use SCEV predicates

silviu.baranga@arm.com via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 5 06:10:38 PST 2015


sbaranga added a comment.

In http://reviews.llvm.org/D14240#282137, @sbaranga wrote:

> Hi Adam.
>
> In http://reviews.llvm.org/D14240#282030, @anemet wrote:
>
> > I have a high-level question.  How should LoopDist work with SCEVAssumptions?  If you look at alias checks we filter those in includeOnlyCrossPartitionChecks to get rid of unnecessary checks.
>
>
> That's an interesting problem. Currently we're only making enough assumptions to return true for LAI.canVectorizeMemory() (and LD checks that anyway).
>  Since it does that, I think it should add all predicates - for the current behaviour.
>
> However if we wouldn't be interested in the answer for canVectorizeMemory() it should be possible to change  MemoryDepChecker::areDepsSafe in LAA such that we have a per-dependence predicate. Then we can ignore the predicates dependences we don't care about. Do you think this approach makes sense?
>
> Thanks,
> Silviu


I thought about this some more and besides dependences we would also need to figure out for each MemCheck what predicate needs to be true in order for us to be able to emit it.


http://reviews.llvm.org/D14240





More information about the llvm-commits mailing list