llvm-project/polly/test/GPGPU
Tobias Grosser c52b71db15 [GPGPU] Make sure escaping invariant load hoisted scalars are preserved
We make sure that the final reload of an invariant scalar memory access uses the
same stack slot into which the invariant memory access was stored originally.
Earlier, this was broken as we introduce a new stack slot aside of the preload
stack slot, which remained uninitialized and caused our escaping loads to
contain garbage. This happened due to us clearing the pre-populated values
in EscapeMap after kernel code generation. We address this issue by preserving
the original host values and restoring them after kernel code generation.
EscapeMap is not expected to be used during kernel code generation, hence we
clear it during kernel generation to make sure that any unintended uses are
noticed.

llvm-svn: 314894
2017-10-04 10:24:23 +00:00
..
Inputs [GPGPU] Add log / logf to the libdevice supported functions 2017-08-21 09:00:31 +00:00
add-scalars-in-scop-to-kills.ll [Polly] [PPCGCodeGeneration] Teach `must_kills` to kill scalars that are local to the scop. 2017-07-06 13:42:42 +00:00
align-params-in-schedule.ll Add missing REQUIRES line 2017-08-03 14:46:53 +00:00
array-with-elem-type-smaller-than-byte.ll [PPCGCodeGeneration] Compute element size in bytes for arrays correctly. 2017-08-09 08:29:16 +00:00
bounds-construction-with-ignore-param-bounds.ll [test] Fix test case without Polly-ACC. 2017-08-03 13:44:31 +00:00
check-unused-fortran-array-size-param-offloaded-to-kernel.ll [ISLNodeBuilder] Materialize Fortran array sizes of arrays without memory accesses. 2017-09-01 18:55:43 +00:00
cuda-annotations.ll [PPCGCodeGen] Differentiate kernels based on their parent Scop 2017-07-12 16:46:19 +00:00
cuda-managed-memory-simple.ll [PPCG] Only add Kernel argument sizes for OpenCL, not CUDA runtime 2017-08-19 17:04:57 +00:00
debug-metadata-leak.ll Remove debug metadata from copied instruction to prevent GPUModule verification failure 2017-08-02 15:20:07 +00:00
double-parallel-loop.ll [tests] Specify the dependence to NVPTX backend for Polly ACC test cases 2017-03-03 03:38:50 +00:00
failing-invariant-load-handling.ll [NFC] [PPCGCodeGen] Add missing REQUIRES: pollyacc line. 2017-08-08 12:26:37 +00:00
failing-invariant-load-hoisting.ll Add missing REQUIRES line 2017-10-01 13:14:40 +00:00
host-control-flow.ll [PPCG] Only add Kernel argument sizes for OpenCL, not CUDA runtime 2017-08-19 17:04:57 +00:00
host-statement.ll [PPCGCodeGen] [3/3] Update PPCGCodeGen + tests to latest ppcg. 2017-07-20 15:48:36 +00:00
ignore-parameter-bounds.ll [GPGPU] Do not require the Scop::Context to have information about all parameters 2017-07-28 06:49:44 +00:00
intrinsic-copied-into-kernel.ll [PPCGCodeGen] Convert intrinsics to libdevice functions whenever possible. 2017-08-31 13:03:37 +00:00
invalid-kernel-assert-verifymodule.ll test/GPGPU/invalid-kernel-assert-verifymodule.ll also requires assertions 2017-08-22 03:12:29 +00:00
invalid-kernel.ll [PPCGCodeGen] [3/3] Update PPCGCodeGen + tests to latest ppcg. 2017-07-20 15:48:36 +00:00
invariant-load-array-access.ll [PPCGCodeGeneration] Generate invariant loads before trying to generate IR. 2017-07-17 15:57:01 +00:00
invariant-load-escaping-values.ll [GPGPU] Make sure escaping invariant load hoisted scalars are preserved 2017-10-04 10:24:23 +00:00
invariant-load-hoisting-of-array.ll [NFC] Add 'REQUIRES: pollyacc' on 'test/GPGPU/invariant-load-hoisting-of-array.ll' 2017-08-01 14:52:18 +00:00
invariant-load-hoisting-read-in-kernel.ll Add missing 'REQUIRES' line 2017-08-16 22:02:03 +00:00
invariant-load-hoisting-with-variable-bounds.ll [Invariant Loads] Do not consider invariant loads to have dependences. 2017-07-13 12:18:56 +00:00
invariant-load-hoisting-with-variable-lower-bound.ll [Invariant Loads] Do not consider invariant loads to have dependences. 2017-07-13 12:18:56 +00:00
invariant-load-hoisting-with-variable-upper-bound.ll [NFC] [PPCGCodeGeneration] Extend `invariant-load-hoisting-with-variable-upper-bound` test case. 2017-07-07 14:02:27 +00:00
invariant-load-hoisting.ll [PPCG] Only add Kernel argument sizes for OpenCL, not CUDA runtime 2017-08-19 17:04:57 +00:00
invariant-load-of-scalar.ll [PPCGCodeGeneration] Skip arrays with empty extent. 2017-07-25 12:35:36 +00:00
kernel-params-only-some-arrays.ll Revert "[GPGPU] Simplify PPCGSCop to reduce compile time [NFC]" 2017-08-19 23:49:26 +00:00
kernel-params-scop-parameter.ll [PPCGCodeGen] Differentiate kernels based on their parent Scop 2017-07-12 16:46:19 +00:00
kernels-names-across-scops-funcs.ll [PPCGCodeGen] Differentiate kernels based on their parent Scop 2017-07-12 16:46:19 +00:00
libdevice-functions-copied-into-kernel.ll [PPCGCodeGen] Convert intrinsics to libdevice functions whenever possible. 2017-08-31 13:03:37 +00:00
live-range-reordering-with-privatization.ll [GPGPU] Correctly initialize array order and fixed_element information 2017-08-19 20:21:22 +00:00
loops-outside-scop.ll [Polly] [PPCGCodeGeneration] Deal with loops outside the Scop correctly in PPCGCodeGeneration. 2017-08-06 02:39:05 +00:00
managed-memory-rewrite-alloca.ll [ManagedMemoryRewrite] Learn how to rewrite global arrays, allocas. 2017-08-17 11:22:52 +00:00
managed-memory-rewrite-malloc-free-inside-constexpr.ll [ManagedMemoryRewrite] Rewrite malloc, free correctly inside `Constant`s. 2017-08-17 20:26:38 +00:00
managed-memory-rewrite-malloc-free.ll [ManagedMemoryRewrite] [Polly] Erase original malloc and free. [NFC] 2017-08-09 18:19:46 +00:00
managed-pointers-preparation.ll Add missing 'REQUIRES: pollyacc' line 2017-08-06 11:21:09 +00:00
memory-only-referenced-from-access.ll [GPGPU] Collect parameter dimension used in MemoryAccesses 2017-08-19 12:58:28 +00:00
mostly-sequential.ll [PPCGCodeGen] [3/3] Update PPCGCodeGen + tests to latest ppcg. 2017-07-20 15:48:36 +00:00
non-read-only-scalars.ll [GPGPU] Correctly initialize array order and fixed_element information 2017-08-19 20:21:22 +00:00
non-zero-array-offset.ll Revert "[GPGPU] Simplify PPCGSCop to reduce compile time [NFC]" 2017-08-19 23:49:26 +00:00
only-part-of-array-modified.ll [GPGPU] Ensure arrays where only parts are modified are copied to GPU 2016-08-10 10:58:19 +00:00
parametric-loop-bound.ll [PPCG] Only add Kernel argument sizes for OpenCL, not CUDA runtime 2017-08-19 17:04:57 +00:00
partial_writes.ll Fix 310555: Require pollyacc instead of asserts 2017-08-10 14:21:04 +00:00
partial_writes___%bb2---%bb14.jscop [GPGPU] Make the ast_build available to block generator 2017-08-10 08:00:56 +00:00
phi-nodes-in-kernel.ll [PPCG] Only add Kernel argument sizes for OpenCL, not CUDA runtime 2017-08-19 17:04:57 +00:00
private-memory.ll [PPCGCodeGeneration] Update PPCG Code Generation for OpenCL compatibility 2017-04-25 08:08:29 +00:00
privatization-simple.ll [NFC] Fix breaking build by adding REQUIRES: pollyacc 2017-07-05 15:20:28 +00:00
privatization.ll [NFC] Fix breaking build by adding REQUIRES: pollyacc 2017-07-05 15:20:28 +00:00
region-stmt.ll [PPCGCodeGen] [3/3] Update PPCGCodeGen + tests to latest ppcg. 2017-07-20 15:48:36 +00:00
remove-dead-instructions-in-stmt-2.ll [PPCGCodeGeneration] Update PPCG Code Generation for OpenCL compatibility 2017-04-25 08:08:29 +00:00
remove-dead-instructions-in-stmt.ll [PPCGCodeGeneration] Update PPCG Code Generation for OpenCL compatibility 2017-04-25 08:08:29 +00:00
run-time-check.ll [GPGPU] Create code to verify run-time conditions 2016-08-08 17:35:55 +00:00
scalar-param-and-value-32-bit.ll [tests] Specify the dependence to NVPTX backend for Polly ACC test cases 2017-03-03 03:38:50 +00:00
scalar-param-and-value-use.ll [tests] Specify the dependence to NVPTX backend for Polly ACC test cases 2017-03-03 03:38:50 +00:00
scalar-parameter-fp128.ll [tests] Specify the dependence to NVPTX backend for Polly ACC test cases 2017-03-03 03:38:50 +00:00
scalar-parameter-half.ll [tests] Specify the dependence to NVPTX backend for Polly ACC test cases 2017-03-03 03:38:50 +00:00
scalar-parameter-i80.ll [tests] Specify the dependence to NVPTX backend for Polly ACC test cases 2017-03-03 03:38:50 +00:00
scalar-parameter-i120.ll [tests] Specify the dependence to NVPTX backend for Polly ACC test cases 2017-03-03 03:38:50 +00:00
scalar-parameter-i128.ll [tests] Specify the dependence to NVPTX backend for Polly ACC test cases 2017-03-03 03:38:50 +00:00
scalar-parameter-i3000.ll [tests] Specify the dependence to NVPTX backend for Polly ACC test cases 2017-03-03 03:38:50 +00:00
scalar-parameter-ppc_fp128.ll [tests] Specify the dependence to NVPTX backend for Polly ACC test cases 2017-03-03 03:38:50 +00:00
scalar-parameter-x86_fp80.ll [tests] Specify the dependence to NVPTX backend for Polly ACC test cases 2017-03-03 03:38:50 +00:00
scalar-parameter.ll [tests] Specify the dependence to NVPTX backend for Polly ACC test cases 2017-03-03 03:38:50 +00:00
scalar-writes-in-scop-requires-abort.ll [GPGPU] Correctly initialize array order and fixed_element information 2017-08-19 20:21:22 +00:00
scheduler-timeout.ll [PPCGCodeGen] [3/3] Update PPCGCodeGen + tests to latest ppcg. 2017-07-20 15:48:36 +00:00
shared-memory-scalar.ll GPGPU: Detect read-only scalar arrays ... 2016-09-17 19:22:18 +00:00
shared-memory-two-dimensional.ll [PPCGCodeGeneration] Update PPCG Code Generation for OpenCL compatibility 2017-04-25 08:08:29 +00:00
shared-memory.ll [PPCGCodeGeneration] Update PPCG Code Generation for OpenCL compatibility 2017-04-25 08:08:29 +00:00
simple-managed-memory-rewrite.ll [GPGPU] Make test case independent of LLVM names 2017-08-17 20:09:02 +00:00
size-cast.ll [PPCGCodeGen] [3/3] Update PPCGCodeGen + tests to latest ppcg. 2017-07-20 15:48:36 +00:00
spir-codegen.ll [GPGPU] Fix compilation issue with latest CUDA upgrade to i128 2017-07-28 06:38:49 +00:00
unknown-fn-call-not-copied-into-kernel.ll [Polly] [PPCGCodeGeneration] Skip Scops which contain function pointers. 2017-06-12 11:41:09 +00:00
untouched-arrays.ll [PPCGCodeGen] [3/3] Update PPCGCodeGen + tests to latest ppcg. 2017-07-20 15:48:36 +00:00