summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
diff options
context:
space:
mode:
authorAlexey Bataev <a.bataev@hotmail.com>2019-01-03 17:43:46 +0000
committerAlexey Bataev <a.bataev@hotmail.com>2019-01-03 17:43:46 +0000
commit3c74be80493d439bddcd70288d489ba3f9c963ec (patch)
tree372b4d9ba888dc4881e6ea9cfccfe8487b65ef4f /llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
parent0f67746c9259b1923052385c9e3cadce60472d2e (diff)
downloadbcm5719-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
OpenPOWER on IntegriCloud