[PATCH] D49024: [Polly] [WIP] Introduce ShapeInfo into polly for sizes and strides.

Siddharth via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Jul 8 04:30:09 PDT 2018


bollu added inline comments.


================
Comment at: lib/Analysis/ScopBuilder.cpp:752
+      isa<LoadInst>(Inst) ? MemoryAccess::READ : MemoryAccess::MUST_WRITE;
+  scop->invalidate(DELINEARIZATION, Inst->getDebugLoc(), Inst->getParent());
+
----------------
cs15btech11044 wrote:
> bollu wrote:
> > cs15btech11044 wrote:
> > > bollu wrote:
> > > > cs15btech11044 wrote:
> > > > > @Bollu. I am talking about this line here
> > > > Yeah, this looks like dead code that was left out. If you remove the line, then what happens? 
> > > > 
> > > > 
> > > > ##### Regarding Invalidate Scop
> > > > 
> > > > You mentioned that you get this error:
> > > > 
> > > > > `Invalidate SCoP because of reason 9`
> > > > 
> > > > So, the reasons for invalidation are listed in this enum
> > > > 
> > > > ```cpp
> > > > enum AssumptionKind {
> > > >   ALIASING,
> > > >   INBOUNDS,
> > > >   WRAPPING,
> > > >   UNSIGNED,
> > > >   PROFITABLE,
> > > >   ERRORBLOCK,
> > > >   COMPLEXITY,
> > > >   INFINITELOOP,
> > > >   INVARIANTLOAD,
> > > >   DELINEARIZATION,
> > > > };
> > > > ```
> > > > 
> > > > this is in `include/polly/ScopInfo.h:98`
> > > > 
> > > > Since `DELINEARIZATION` has enum value 10, it means that it someone called 
> > > > 
> > > > ```lang=cpp
> > > > invalidateScop(..., DELINERALIZATION, ....)
> > > > ```
> > > > 
> > > > Which is the line you are pointing at. Removing this line should solve the problem.
> > > Well, removing this line is causing an assertion failure in `isl_map.c`.
> > > Whereas keeping it is still showing the SCoP and telling that it is invalidated.
> > That is interesting. Could you hunt down the assertion in `isl_map.c`?? That line is definitely wrong, because it just throws away our delineralisation.
> The assertion is failing in
> ```
> for (unsigned i = 0; i < DimsMissing; i++)
>     Map = Map.fix_si(isl::dim::out, i, 0);
> ```
> in updateDimensionality of `ScopInfo.cpp`. 
> Assertion "pos < isl_map_dim(map, type)" has failed in isl_map.c
Could you please create a minimal test case where this occurs?


https://reviews.llvm.org/D49024





More information about the llvm-commits mailing list