[PATCH] D33767: [Polly] [BlockGen] Support partial writes in regions

Tobias Grosser via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 1 03:33:05 PDT 2017


grosser created this revision.
grosser added a project: Polly.

The RegionGenerator traditionally kept a BlockMap that mapped from original
basic blocks to newly generated basic blocks. With the introduction of partial
writes such a 1:1 mapping is not possible any more, as a single basic block
can be code generated into multiple basic blocks. Hence, depending on the use
case we need to either use the first basic block or the last basic block.

This resolves the bug that has been shown in the AOSP build, but likely could
use some more test cases. Particularly, it would be interesting to test this
with non-affine loops. Unfortunately non-affine loops are currently broken
and also do not have any test cases that verifies they are indeed working (see
http://llvm.org/PR33265).


https://reviews.llvm.org/D33767

Files:
  include/polly/CodeGen/BlockGenerators.h
  lib/CodeGen/BlockGenerators.cpp
  test/Isl/CodeGen/partial_write_in_region.ll
  test/Isl/CodeGen/partial_write_in_region___%bb1---%bb12.jscop
  test/Isl/CodeGen/partial_write_in_region___%bb1---%bb12.jscop.transformed

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D33767.100995.patch
Type: text/x-patch
Size: 11860 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170601/e45f9ee5/attachment.bin>


More information about the llvm-commits mailing list