[PATCH] D11554: Keep track of ScopArrayInfo objects that model PHI node storage

Tobias Grosser tobias at grosser.es
Mon Jul 27 23:53:42 PDT 2015


grosser created this revision.
grosser added a reviewer: jdoerfert.
grosser added subscribers: llvm-commits, pollydev.

When translating PHI nodes into memory dependences during code generation we
require two kinds of memory. 'Normal memory' as for all scalar dependences and
'PHI node memory' to store the incoming values of the PHI node. With this
patch we now mark and track these two kinds of memories, which we previously
incorrectly marked as a single memory object.

Being aware of PHI node storage makes code generation easier, as we do not need
to guess what kind of storage a scalar reference requires. This simplifies the
code nicely.

http://reviews.llvm.org/D11554

Files:
  include/polly/ScopInfo.h
  include/polly/TempScopInfo.h
  lib/Analysis/ScopInfo.cpp
  lib/Analysis/TempScopInfo.cpp
  lib/CodeGen/BlockGenerators.cpp
  test/ScopInfo/NonAffine/non_affine_loop_used_later.ll
  test/ScopInfo/loop_carry.ll
  test/ScopInfo/non_affine_region_1.ll
  test/ScopInfo/non_affine_region_2.ll
  test/ScopInfo/non_affine_region_3.ll
  test/ScopInfo/non_affine_region_4.ll
  test/ScopInfo/phi_condition_modeling_1.ll
  test/ScopInfo/phi_condition_modeling_2.ll
  test/ScopInfo/phi_conditional_simple_1.ll
  test/ScopInfo/phi_loop_carried_float.ll
  test/ScopInfo/phi_scalar_simple_1.ll
  test/ScopInfo/phi_scalar_simple_2.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D11554.30789.patch
Type: text/x-patch
Size: 35464 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150728/fde37f20/attachment.bin>


More information about the llvm-commits mailing list