llvm-project/polly/lib/CodeGen
Johannes Doerfert 911951f4f8 Hand down referenced & globally mapped values to the subfunction
If a value is globally mapped (IslNodeBuilder::ValueMap) and
  referenced in the code that will be put into a subfunction, we hand
  down the new value to the subfunction.

  This patch also removes code that handed down all invariant loads to
  the subfunction. Instead, only needed invariant loads are given to the
  subfunction. There are two possible reasons for an invariant load to
  be handed down:
    1) The invariant load is used in a block that is placed in the
       subfunction but which is not the parent of the load. In this
       case, the scalar access that will read the loaded value, will
       cause its base pointer (the preloaded value) to be handed down to
       the subfunction.
    2) The invariant load is defined and used in a block that is placed
       in the subfunction. With this patch we will hand down the
       preloaded value to the subfunction as the invariant load is
       globally mapped to that value.

llvm-svn: 249126
2015-10-02 13:11:27 +00:00
..
BlockGenerators.cpp Move remapping functionality in the ScopExpander 2015-09-30 16:52:03 +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 Hand down referenced & globally mapped values to the subfunction 2015-10-02 13:11:27 +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