aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Support/Parallel.cpp
diff options
context:
space:
mode:
authorTobias Grosser <tobias@grosser.es>2017-10-04 10:24:23 +0000
committerTobias Grosser <tobias@grosser.es>2017-10-04 10:24:23 +0000
commitc52b71db152473a12e7b2f35f214d8924a14c6e0 (patch)
treea3a2e8cd6f373e7baa4738bf02306ebabfa51a12 /llvm/lib/Support/Parallel.cpp
parent39069208d5e24f62116fa8a6ed7c47596fb21a98 (diff)
downloadllvm-c52b71db152473a12e7b2f35f214d8924a14c6e0.zip
llvm-c52b71db152473a12e7b2f35f214d8924a14c6e0.tar.gz
llvm-c52b71db152473a12e7b2f35f214d8924a14c6e0.tar.bz2
[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
Diffstat (limited to 'llvm/lib/Support/Parallel.cpp')
0 files changed, 0 insertions, 0 deletions