diff options
author | Alexey Bataev <a.bataev@hotmail.com> | 2015-04-29 05:21:03 +0000 |
---|---|---|
committer | Alexey Bataev <a.bataev@hotmail.com> | 2015-04-29 05:21:03 +0000 |
commit | 19fa2c3b66332d45125cd5df111db1aa47c5a8b5 (patch) | |
tree | a190718ead4a77c0918910a1c814acd05058ded1 /clang/lib/CodeGen | |
parent | eb4d7c6b701a51cb55b8662c9ff2dadd878d21ce (diff) | |
download | bcm5719-llvm-19fa2c3b66332d45125cd5df111db1aa47c5a8b5.tar.gz bcm5719-llvm-19fa2c3b66332d45125cd5df111db1aa47c5a8b5.zip |
[OPENMP] Fix crash on reductions codegen for short circuit reduction operations.
llvm-svn: 236084
Diffstat (limited to 'clang/lib/CodeGen')
-rw-r--r-- | clang/lib/CodeGen/CGAtomic.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/clang/lib/CodeGen/CGAtomic.cpp b/clang/lib/CodeGen/CGAtomic.cpp index 2de9cb26893..edcc09df9d4 100644 --- a/clang/lib/CodeGen/CGAtomic.cpp +++ b/clang/lib/CodeGen/CGAtomic.cpp @@ -1502,7 +1502,7 @@ void CodeGenFunction::EmitAtomicStore(RValue rvalue, LValue dest, atomics.getAtomicType(), SourceLocation())); // Try to write new value using cmpxchg operation auto Pair = atomics.EmitAtomicCompareExchange(OriginalRValue, NewRValue, AO); - PHI->addIncoming(Pair.first.getScalarVal(), ContBB); + PHI->addIncoming(Pair.first.getScalarVal(), Builder.GetInsertBlock()); Builder.CreateCondBr(Pair.second, ExitBB, ContBB); EmitBlock(ExitBB, /*IsFinished=*/true); } @@ -1592,7 +1592,7 @@ void CodeGenFunction::EmitAtomicUpdate( auto Pair = Atomics.EmitAtomicCompareExchange(OriginalRValue, NewRVal, AO); OldVal = IsScalar ? Pair.first.getScalarVal() : Atomics.convertRValueToInt(Pair.first); - PHI->addIncoming(OldVal, ContBB); + PHI->addIncoming(OldVal, Builder.GetInsertBlock()); Builder.CreateCondBr(Pair.second, ExitBB, ContBB); EmitBlock(ExitBB, /*IsFinished=*/true); } |