diff options
author | John McCall <rjmccall@apple.com> | 2010-10-26 22:09:15 +0000 |
---|---|---|
committer | John McCall <rjmccall@apple.com> | 2010-10-26 22:09:15 +0000 |
commit | 6bde954f4702b4075a97a59e148bb22ef845e342 (patch) | |
tree | 7e8e45120d0b62d7be1d92c3f212fc0c16741a64 /clang/lib/CodeGen/CodeGenFunction.h | |
parent | 2888e2c7f97a0670bd12ae4667155c1699c6939f (diff) | |
download | bcm5719-llvm-6bde954f4702b4075a97a59e148bb22ef845e342.tar.gz bcm5719-llvm-6bde954f4702b4075a97a59e148bb22ef845e342.zip |
Extract procedures to do scalar-to-memory and memory-to-scalar conversions
in IR gen, and use those to fix a correctness issue with bool atomic
intrinsics. rdar://problem/8461234
llvm-svn: 117403
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.h')
-rw-r--r-- | clang/lib/CodeGen/CodeGenFunction.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CodeGenFunction.h b/clang/lib/CodeGen/CodeGenFunction.h index 53056bc6098..09b7168a9ea 100644 --- a/clang/lib/CodeGen/CodeGenFunction.h +++ b/clang/lib/CodeGen/CodeGenFunction.h @@ -1349,6 +1349,14 @@ public: /// object. LValue EmitCheckedLValue(const Expr *E); + /// EmitToMemory - Change a scalar value from its value + /// representation to its in-memory representation. + llvm::Value *EmitToMemory(llvm::Value *Value, QualType Ty); + + /// EmitFromMemory - Change a scalar value from its memory + /// representation to its value representation. + llvm::Value *EmitFromMemory(llvm::Value *Value, QualType Ty); + /// EmitLoadOfScalar - Load a scalar value from an address, taking /// care to appropriately convert from the memory representation to /// the LLVM value representation. |