summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGAtomic.cpp
diff options
context:
space:
mode:
authorAlexey Bataev <a.bataev@hotmail.com>2015-03-19 08:44:10 +0000
committerAlexey Bataev <a.bataev@hotmail.com>2015-03-19 08:44:10 +0000
commit87b1302a847d67657c900dd0f969a187aa28a737 (patch)
treef38a37801946e26b1455d40d85d0b39686c9fcdf /clang/lib/CodeGen/CGAtomic.cpp
parent442c6ccb8ca84f5c6fc8f9117fbaad45c6b975d8 (diff)
downloadbcm5719-llvm-87b1302a847d67657c900dd0f969a187aa28a737.tar.gz
bcm5719-llvm-87b1302a847d67657c900dd0f969a187aa28a737.zip
[OPENMP] Fixed bug in codegen of 'atomic write'.
Fixed codegen for exit/continue order after success/failed atomic cmpxchg instruction for 'atomic write' construct. llvm-svn: 232712
Diffstat (limited to 'clang/lib/CodeGen/CGAtomic.cpp')
-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 e9df31e0fdd..b7222fc1cd6 100644
--- a/clang/lib/CodeGen/CGAtomic.cpp
+++ b/clang/lib/CodeGen/CGAtomic.cpp
@@ -1505,8 +1505,8 @@ void CodeGenFunction::EmitAtomicStore(RValue rvalue, LValue dest,
OldValue, AggValueSlot::ignored(), SourceLocation(),
/*AsValue=*/false).getScalarVal();
PHI->addIncoming(OldValue, ContBB);
- Builder.CreateCondBr(Pair.second, ContBB, ExitBB);
- EmitBlock(ExitBB);
+ Builder.CreateCondBr(Pair.second, ExitBB, ContBB);
+ EmitBlock(ExitBB, /*IsFinished=*/true);
}
/// Emit a compare-and-exchange op for atomic type.
OpenPOWER on IntegriCloud