llvm-project/polly/lib/CodeGen
Michael Kruse d5c87162db [Polly] Use VirtualUse to determine references.
VirtualUse ensures consistency over different source of values with
Polly. In particular, this enables its use of instructions moved between
Statement. Before the patch, the code wrongly assumed that the BB's
instructions are also the ScopStmt's instructions. Reference are
determined for OpenMP outlining and GPGPU kernel extraction.

GPGPU CodeGen had some problems. For one, it generated GPU kernel
parameters for constants. Second, it emitted GPU-side invariant loads
which have already been loaded by the host. This has been partially
fixed, it still generates a store for the invariant load result, but
using the value that the host has already written.

WARNING: I did not test the generated PollyACC code on an actual GPU.

The improved consistency will be made use of in the next patch.
2021-09-26 03:26:43 -05:00
..
BlockGenerators.cpp [Polly][Isl] Move to the new-polly-generator branch version of isl-noexceptions.h. NFCI 2021-08-16 15:53:26 +02:00
CodeGeneration.cpp [Polly] Rename CodeGen -> generateCode. NFC. 2021-08-13 12:46:07 -05:00
CodegenCleanup.cpp [polly] Don't include PassSupport.h directly - include via Pass.h 2020-04-26 15:51:32 +01:00
IRBuilder.cpp [Polly] Don't generate inter-iteration noalias metadata. 2021-09-20 22:20:17 -05:00
IslAst.cpp [Polly][Isl] Move to the new-polly-generator branch version of isl-noexceptions.h. NFCI 2021-08-16 15:53:26 +02:00
IslExprBuilder.cpp [OpaquePtr] Remove uses of CreateGEP() without element type 2021-07-17 22:56:27 +02:00
IslNodeBuilder.cpp [Polly] Use VirtualUse to determine references. 2021-09-26 03:26:43 -05:00
LoopGenerators.cpp [OpaquePtrs] Remove some uses of type-less CreateLoad APIs (NFC) 2021-03-11 14:40:57 +01:00
LoopGeneratorsGOMP.cpp [OpaquePtrs] Remove some uses of type-less CreateLoad APIs (NFC) 2021-03-11 14:40:57 +01:00
LoopGeneratorsKMP.cpp [OpaquePtrs] Remove some uses of type-less CreateLoad APIs (NFC) 2021-03-11 14:40:57 +01:00
ManagedMemoryRewrite.cpp [Polly] Fix deprecation warning. NFC. 2021-03-15 14:31:16 -05:00
PPCGCodeGeneration.cpp [Polly] Remove -polly-opt-fusion option. 2021-09-23 15:43:08 -05:00
PerfMonitor.cpp [OpaquePtrs] Remove some uses of type-less CreateLoad APIs (NFC) 2021-03-11 14:40:57 +01:00
RuntimeDebugBuilder.cpp [OpaquePtr] Remove uses of CreateGEP() without element type 2021-07-17 22:56:27 +02:00
Utils.cpp Apply include-what-you-use #include removal suggestions. NFC. 2019-03-28 20:19:49 +00:00