[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