diff options
author | John McCall <rjmccall@apple.com> | 2013-03-07 21:37:17 +0000 |
---|---|---|
committer | John McCall <rjmccall@apple.com> | 2013-03-07 21:37:17 +0000 |
commit | a8ec7eb9cfe2adeb1b5d03a94f6cee70972e47b7 (patch) | |
tree | 751e0d6a8bad1e2e901a95c64693639b1157eb34 /clang/lib/CodeGen/CodeGenFunction.h | |
parent | fc207f2d70baeadfe191283bf035c56876f6c9e8 (diff) | |
download | bcm5719-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.h | 7 |
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); |