hanchenye-llvm-project/polly/lib
Michael Kruse 68821a8b91 [ZoneAlgo/ForwardOpTree] Normalize PHIs to their known incoming values.
Represent PHIs by their incoming values instead of an opaque value of
themselves. This allows ForwardOpTree to "look through" the PHIs and
forward the incoming values since forwardings PHIs is currently not
supported.

This is particularly useful to cope with PHIs inserted by GVN LoadPRE.
The incoming values all resolve to a load from a single array element
which then can be forwarded.

It should in theory also reduce spurious conflicts in value mapping
(DeLICM), but I have not yet found a profitable case yet, so it is
not included here.

To avoid transitive closure and potentially necessary overapproximations
of those, PHIs that may reference themselves are excluded from
normalization and keep their opaque self-representation.

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

llvm-svn: 317008
2017-10-31 16:11:46 +00:00
..
Analysis Rename OptimizationDiagnosticInfo.h to OptimizationRemarkEmitter.h 2017-10-09 23:49:08 +00:00
CodeGen [OpenMP] Fix reference collection of latest base ptrs. 2017-10-31 10:28:22 +00:00
Exchange [Support] Rename tool_output_file to ToolOutputFile, NFC 2017-09-23 01:03:17 +00:00
External Move include/isl-noexceptions.h to include/isl/isl-noexceptions.h 2017-08-22 22:04:22 +00:00
Support [Simplify] Mark (and sweep) based on latest access relation. 2017-10-26 12:34:36 +00:00
Transform [ZoneAlgo/ForwardOpTree] Normalize PHIs to their known incoming values. 2017-10-31 16:11:46 +00:00
CMakeLists.txt [ScopInliner] Add a simple Scop-based inliner to polly. 2017-08-17 21:57:23 +00:00
Polly.cpp