[PATCH] D33362: [Polly][WIP]JSCoP Importer: support for multi-valued schedules

Mike via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 7 06:35:38 PDT 2017


Mike_Jongen updated this revision to Diff 109973.
Mike_Jongen added a comment.

Updated to current polly version.

Changed the setup slightly. No longer is a copy added for every execution time.
Now it adds a dimension to the scopstmt, and uses this dimension for the extra executions.
Works simular to the previous version, but makes the scops much clearer.

The scops also perform a collectSurroundingLoops. The code generator would generate an error without this.

After code generation, some memory accesses use the wrong iterator, and use the new dimension as variable.

for example we have a statement with an access:
Stmt1[i0] -> MemRef0[i0]
if the statement is executed multiple times, the access changes to
Stmt1[i0, i1] -> MemRef0[i0]
How does the code generator decide to which variable i0 of MemRef0 refers to?
The logical answer would be i0, but I have seen generated code where it used i1.
How does the code generator link these variables?


https://reviews.llvm.org/D33362

Files:
  include/polly/ScopInfo.h
  lib/Analysis/ScopInfo.cpp
  lib/Exchange/JSONExporter.cpp
  test/ScopDetect/double_convolution___%for.body---%for.end50.jscop.recompute
  test/ScopDetect/double_convolution___%for.body---%for.end50.jscop.unbound
  test/ScopDetect/recomputation.ll
  test/ScopDetect/recomputation_unbound.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D33362.109973.patch
Type: text/x-patch
Size: 24917 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170807/258e0b73/attachment-0001.bin>


More information about the llvm-commits mailing list