summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGExpr.cpp
diff options
context:
space:
mode:
authorNico Weber <nicolasweber@gmx.de>2015-02-13 16:27:00 +0000
committerNico Weber <nicolasweber@gmx.de>2015-02-13 16:27:00 +0000
commit7ce96b853dffeca7e37c78fa4a02fe8415b3ab9b (patch)
treeac285eddc707325d791f53080aba8a6c26b313f9 /clang/lib/CodeGen/CGExpr.cpp
parent3236c7245846d87dfdfe110ad1d098ca10abc961 (diff)
downloadbcm5719-llvm-7ce96b853dffeca7e37c78fa4a02fe8415b3ab9b.tar.gz
bcm5719-llvm-7ce96b853dffeca7e37c78fa4a02fe8415b3ab9b.zip
Revert r229082 for a bit, it caused PR22577.
llvm-svn: 229123
Diffstat (limited to 'clang/lib/CodeGen/CGExpr.cpp')
-rw-r--r--clang/lib/CodeGen/CGExpr.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/clang/lib/CodeGen/CGExpr.cpp b/clang/lib/CodeGen/CGExpr.cpp
index 18aa262160b..568f949c342 100644
--- a/clang/lib/CodeGen/CGExpr.cpp
+++ b/clang/lib/CodeGen/CGExpr.cpp
@@ -1136,7 +1136,7 @@ llvm::Value *CodeGenFunction::EmitLoadOfScalar(llvm::Value *Addr, bool Volatile,
}
// Atomic operations have to be done on integral types.
- if (Ty->isAtomicType() || typeIsSuitableForInlineAtomic(Ty, Volatile)) {
+ if (Ty->isAtomicType()) {
LValue lvalue = LValue::MakeAddr(Addr, Ty,
CharUnits::fromQuantity(Alignment),
getContext(), TBAAInfo);
@@ -1255,8 +1255,7 @@ void CodeGenFunction::EmitStoreOfScalar(llvm::Value *Value, llvm::Value *Addr,
Value = EmitToMemory(Value, Ty);
- if (Ty->isAtomicType() ||
- (!isInit && typeIsSuitableForInlineAtomic(Ty, Volatile))) {
+ if (Ty->isAtomicType()) {
EmitAtomicStore(RValue::get(Value),
LValue::MakeAddr(Addr, Ty,
CharUnits::fromQuantity(Alignment),
OpenPOWER on IntegriCloud