llvm-project/polly/lib/CodeGen
Johannes Doerfert c1db67e218 Identify and hoist definitively invariant loads
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. These invariant loads will be preloaded
  in the code generation and used in the optimized version of the 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 to licm.

  As hoisting can make statements empty we will simplify the SCoP and
  remove empty statements that would otherwise cause artifacts in the
  code generation.

Differential Revision: http://reviews.llvm.org/D13194

llvm-svn: 248861
2015-09-29 23:47:21 +00:00
..
BlockGenerators.cpp Identify and hoist definitively invariant loads 2015-09-29 23:47:21 +00:00
CodeGeneration.cpp Identify and hoist definitively invariant loads 2015-09-29 23:47:21 +00:00
IRBuilder.cpp Generate alias metadata even in OpenMP mode 2015-08-19 16:04:35 +00:00
IslAst.cpp Check for feasible runtime check context early 2015-08-20 05:58:56 +00:00
IslExprBuilder.cpp OpenMP codegen: support generation of multi-dimensional access functions 2015-09-05 10:32:56 +00:00
IslNodeBuilder.cpp Identify and hoist definitively invariant loads 2015-09-29 23:47:21 +00:00
LoopGenerators.cpp OpenMP: Name addresses in subfunction structure 2015-09-28 16:46:38 +00:00
RuntimeDebugBuilder.cpp Add option -polly-codegen-add-debug-printing 2015-09-06 08:47:57 +00:00
Utils.cpp Fix Codegen adding a second exit out of region 2015-08-18 13:14:42 +00:00