summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
diff options
context:
space:
mode:
authorAlexey Bataev <a.bataev@hotmail.com>2015-04-29 05:21:03 +0000
committerAlexey Bataev <a.bataev@hotmail.com>2015-04-29 05:21:03 +0000
commit19fa2c3b66332d45125cd5df111db1aa47c5a8b5 (patch)
treea190718ead4a77c0918910a1c814acd05058ded1 /clang/lib/CodeGen
parenteb4d7c6b701a51cb55b8662c9ff2dadd878d21ce (diff)
downloadbcm5719-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.cpp4
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);
}
OpenPOWER on IntegriCloud