diff options
| author | Alexey Bataev <a.bataev@hotmail.com> | 2015-03-19 08:44:10 +0000 |
|---|---|---|
| committer | Alexey Bataev <a.bataev@hotmail.com> | 2015-03-19 08:44:10 +0000 |
| commit | 87b1302a847d67657c900dd0f969a187aa28a737 (patch) | |
| tree | f38a37801946e26b1455d40d85d0b39686c9fcdf /clang/lib/CodeGen/CGAtomic.cpp | |
| parent | 442c6ccb8ca84f5c6fc8f9117fbaad45c6b975d8 (diff) | |
| download | bcm5719-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.cpp | 4 |
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. |

