diff options
author | Alexey Bataev <a.bataev@hotmail.com> | 2019-01-03 17:43:46 +0000 |
---|---|---|
committer | Alexey Bataev <a.bataev@hotmail.com> | 2019-01-03 17:43:46 +0000 |
commit | 3c74be80493d439bddcd70288d489ba3f9c963ec (patch) | |
tree | 372b4d9ba888dc4881e6ea9cfccfe8487b65ef4f /llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp | |
parent | 0f67746c9259b1923052385c9e3cadce60472d2e (diff) | |
download | bcm5719-llvm-3c74be80493d439bddcd70288d489ba3f9c963ec.tar.gz bcm5719-llvm-3c74be80493d439bddcd70288d489ba3f9c963ec.zip |
[OPENMP][NVPTX]Fix incompatibility of __syncthreads with LLVM, NFC.
Summary:
One of the LLVM optimizations, split critical edges, also clones tail
instructions. This is a dangerous operation for __syncthreads()
functions and this transformation leads to undefined behavior or
incorrect results. Patch fixes this problem by replacing __syncthreads()
function with the assembler instruction, which cost is too high and
wich cannot be copied.
Reviewers: grokos, gtbercea, kkwli0
Subscribers: guansong, openmp-commits, caomhin
Differential Revision: https://reviews.llvm.org/D56274
llvm-svn: 350333
Diffstat (limited to 'llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp')
0 files changed, 0 insertions, 0 deletions