summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CodeGenFunction.h
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2013-03-07 21:37:17 +0000
committerJohn McCall <rjmccall@apple.com>2013-03-07 21:37:17 +0000
commita8ec7eb9cfe2adeb1b5d03a94f6cee70972e47b7 (patch)
tree751e0d6a8bad1e2e901a95c64693639b1157eb34 /clang/lib/CodeGen/CodeGenFunction.h
parentfc207f2d70baeadfe191283bf035c56876f6c9e8 (diff)
downloadbcm5719-llvm-a8ec7eb9cfe2adeb1b5d03a94f6cee70972e47b7.tar.gz
bcm5719-llvm-a8ec7eb9cfe2adeb1b5d03a94f6cee70972e47b7.zip
Promote atomic type sizes up to a power of two, capped by
MaxAtomicPromoteWidth. Fix a ton of terrible bugs with _Atomic types and (non-intrinsic-mediated) loads and stores thereto. llvm-svn: 176658
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.h')
-rw-r--r--clang/lib/CodeGen/CodeGenFunction.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CodeGenFunction.h b/clang/lib/CodeGen/CodeGenFunction.h
index 4e6c72e10d4..2be8dcc4a65 100644
--- a/clang/lib/CodeGen/CodeGenFunction.h
+++ b/clang/lib/CodeGen/CodeGenFunction.h
@@ -2149,6 +2149,13 @@ public:
RValue convertTempToRValue(llvm::Value *addr, QualType type);
+ void EmitAtomicInit(Expr *E, LValue lvalue);
+
+ RValue EmitAtomicLoad(LValue lvalue,
+ AggValueSlot slot = AggValueSlot::ignored());
+
+ void EmitAtomicStore(RValue rvalue, LValue lvalue, bool isInit);
+
/// EmitToMemory - Change a scalar value from its value
/// representation to its in-memory representation.
llvm::Value *EmitToMemory(llvm::Value *Value, QualType Ty);
OpenPOWER on IntegriCloud