[PATCH] D36791: [Polly][Bug fix] Wrong dependences filtering during Fully Indexed expansion

Michael Kruse via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 18 07:34:45 PDT 2017


Meinersbur added inline comments.


================
Comment at: lib/Transform/MaximalStaticExpansion.cpp:166
+
+        // Filter out Statement to Statement dependences.
+        if (!Map.can_curry())
----------------
niosega wrote:
> Meinersbur wrote:
> > Why? How can this happen?
> I don't know why but when I am asking AL_Reference or AL_Access dependencies, I also get Statement to Statement dependencies in the union_map. So I need to filter these out. Am I doing something wrong in the dependencies retrieval call ?
I think this is due to the broken dependency info in case there are reduction candidates. Did you switch off reduction detection?


================
Comment at: lib/Transform/MaximalStaticExpansion.cpp:175-176
+
+        auto TmpMap = Map.curry().range().wrapped_domain_map().curry();
+        auto TmpMapDomainId = TmpMap.domain().get_tuple_id();
+
----------------
niosega wrote:
> Meinersbur wrote:
> > [Suggestion] Do this on `Map.get_space()`, so the projections don't need to be computed.
> What is the best solution to get the Id between these two solutions ?
> 
> ```
> Map.get_space().domain().unwrap().range() 
> ```
> 
> ```
> Map.get_space().curry().range().unwrap().domain()
> ```
> 
```
Map.get_space().domain().unwrap().get_tuple_id(isl::dim::out)
```
The second has one operation more, I don't see it having any advantages.


https://reviews.llvm.org/D36791





More information about the llvm-commits mailing list