[PATCH] D23962: [Polly] Allow mapping scalar MemoryAccesses to array elements.

Tobias Grosser via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 29 04:52:00 PDT 2016

> Meinersbur added a comment.
> Thank you for the review. Do you have any comment on the
> `get(Original|Latest)XXX` naming scheme? It is what I originally used,
> but it feels clunky.

I think it is reasonable. I agree that it somehow feels a little ad-hoc,
but I prefer this over an over-engineered design that is overall more
complex to grasp.

One change one could think of  is to drop all MemoryAccess::is*Kind
functions and to obtain this information from the original ScopArrayInfo
object. This would simplify the interface and get rid of some
redundancy, which is one source of many getOriginal/Latest calls. Not
sure however how simple this is.

> Ideally I'd distinguish between whether the access
> is explicit (caused by a MemInst)/implicit (cross-Stmt registers+PHIs)
> and what it accesses (array/scalar alloca).

I remember you talked earlier about using implicit/explicit to name some
of these properties. Are you suggesting that we move from the MK_PHI,
MK_ExitPHI, MK_Array and MK_Value to a scheme that has two properties.
Implicit/Explicit as well as array and scalar? How would such a scheme
help to improve the Original/Latest naming scheme?


More information about the llvm-commits mailing list