[PATCH] D13194: [Polly] Identify and hoist definitively invariant loads

Johannes Doerfert via llvm-commits llvm-commits at lists.llvm.org
Sat Sep 26 14:15:40 PDT 2015


jdoerfert created this revision.
jdoerfert added reviewers: grosser, Meinersbur.
jdoerfert added a subscriber: Polly.

  As a first step in the direction of assumed invariant loads (loads that are
  not written in some context) we now detect and hoist definitively invariant
  loads. Invariant loads will be separated from their statements and preloaded
  in the code generation. The preloaded value is then used in the new SCoP. If
  the load is only conditionally executed the preloaded version will also only
  be executed under the same condition, hence we will never access memory that
  wouldn't have been accessed otherwise. This is also the most distinguishing
  feature compared to licm.

http://reviews.llvm.org/D13194

Files:
  include/polly/CodeGen/IslNodeBuilder.h
  include/polly/ScopInfo.h
  lib/Analysis/ScopInfo.cpp
  lib/CodeGen/BlockGenerators.cpp
  lib/CodeGen/CodeGeneration.cpp
  lib/CodeGen/IslNodeBuilder.cpp
  test/Isl/CodeGen/aliasing_parametric_simple_2.ll
  test/Isl/CodeGen/exprModDiv.ll
  test/Isl/CodeGen/non-affine-phi-node-expansion.ll
  test/Isl/CodeGen/phi_in_exit_early_lnt_failure_4.ll
  test/Isl/CodeGen/simple_vec_call.ll
  test/Isl/CodeGen/simple_vec_call_2.ll
  test/Isl/CodeGen/simple_vec_cast.ll
  test/Isl/CodeGen/simple_vec_const.ll
  test/Isl/CodeGen/simple_vec_ptr_ptr_ty.ll
  test/Isl/CodeGen/two-scops-in-row.ll
  test/ScopInfo/inter_bb_scalar_dep.ll
  test/ScopInfo/intra_and_inter_bb_scalar_dep.ll
  test/ScopInfo/intra_bb_scalar_dep.ll
  test/ScopInfo/tempscop-printing.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D13194.35811.patch
Type: text/x-patch
Size: 50553 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150926/af07f470/attachment.bin>


More information about the llvm-commits mailing list