llvm-project/polly/lib/Transform
Michael Kruse d3ce899ddf [ForwardOpTree] Use less computationally expensive method to compute def-to-target map. NFCI.
When forwarding a LoadInst to another statement, a map that translates
their domain is needed. Before this patch, is was computed by appending
the def-to-use map to the def-to-target of the operand tree's target.

This patch lets the new method getDefToTarget do this. This is
computationally less expensive due to:

 * Caching of the result such that it can be used for multiple operands
   tree to the same target.

 * The map is only computed when there is a LoadInst that needs it.

 * It is only computed for the statement requiring the translator map,
   instead of having an intermediate result for every edge in the
  operand tree.

The downside is that this scheme cannot handle forwarding from a
previous loop iteration (which would require the entire path from
statement to target). Since ForwardOpTree currently does not support
forwarding across loop iterations (SCEV expressions would need to be
transformed), this was not needed anyway.

Differential Revision: https://reviews.llvm.org/D47385

llvm-svn: 333426
2018-05-29 15:19:17 +00:00
..
Canonicalization.cpp Fixup Polly for an LLVM header file change. 2018-04-24 02:23:41 +00:00
CodePreparation.cpp Update for LLVM header movement 2018-03-21 23:21:10 +00:00
DeLICM.cpp [polly] Update uses of DEBUG macro to LLVM_DEBUG. 2018-05-15 13:37:17 +00:00
DeadCodeElimination.cpp Move include/isl-noexceptions.h to include/isl/isl-noexceptions.h 2017-08-22 22:04:22 +00:00
FlattenAlgo.cpp [polly] Update uses of DEBUG macro to LLVM_DEBUG. 2018-05-15 13:37:17 +00:00
FlattenSchedule.cpp [polly] Update uses of DEBUG macro to LLVM_DEBUG. 2018-05-15 13:37:17 +00:00
ForwardOpTree.cpp [ForwardOpTree] Use less computationally expensive method to compute def-to-target map. NFCI. 2018-05-29 15:19:17 +00:00
MaximalStaticExpansion.cpp Remove the last uses of isl::give and isl::take 2018-04-29 00:28:26 +00:00
RewriteByReferenceParameters.cpp Add rewrite by-reference parameter pass 2017-08-17 05:25:08 +00:00
ScheduleOptimizer.cpp [polly] Update uses of DEBUG macro to LLVM_DEBUG. 2018-05-15 13:37:17 +00:00
ScopInliner.cpp [polly] Update uses of DEBUG macro to LLVM_DEBUG. 2018-05-15 13:37:17 +00:00
Simplify.cpp [polly] Update uses of DEBUG macro to LLVM_DEBUG. 2018-05-15 13:37:17 +00:00
ZoneAlgo.cpp [polly] Update uses of DEBUG macro to LLVM_DEBUG. 2018-05-15 13:37:17 +00:00