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

Michael Kruse via llvm-commits llvm-commits at lists.llvm.org
Sat Aug 27 10:02:09 PDT 2016


Meinersbur created this revision.
Meinersbur added reviewers: grosser, jdoerfert, gareevroman.
Meinersbur added subscribers: llvm-commits, pollydev.
Meinersbur added a project: Polly.

Change the code around setNewAccessRelation to allow to use a an existing array element for memory instead of an ad-hoc malloc. This facility will be used for DeLICM/DeGVN to convert scalar dependencies into regular ones.

The changes necessary include:
- Make the code generator use the implicit locations instead of the alloca ones.
- A test case 
- Make the JScop importer accept changes of scalar accesses for that test case.
- Adapt the MemoryAccess interface to the fact that the MemoryKind can change. They are named (get|is)OriginalXXX() to get the status of the memory access before any change by setNewAccessRelation() (some properties such as getIncoming() do not change even if the kind is changed and are still required). To get the modified properties, there is (get|is)LatestXXX(). The old accessors without Original|Latest are synonyms of the (get|is)OriginalXXX() to not make functional changes in unrelated code.


https://reviews.llvm.org/D23962

Files:
  include/polly/CodeGen/BlockGenerators.h
  include/polly/ScopInfo.h
  lib/Analysis/ScopInfo.cpp
  lib/CodeGen/BlockGenerators.cpp
  lib/Exchange/JSONExporter.cpp
  test/Isl/CodeGen/MemAccess/map_scalar_access.ll
  test/Isl/CodeGen/MemAccess/map_scalar_access___%outer.for---%return.jscop.transformed

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D23962.69493.patch
Type: text/x-patch
Size: 34023 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160827/b6de2acc/attachment.bin>


More information about the llvm-commits mailing list