summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CodeGenFunction.h
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2010-10-26 22:09:15 +0000
committerJohn McCall <rjmccall@apple.com>2010-10-26 22:09:15 +0000
commit6bde954f4702b4075a97a59e148bb22ef845e342 (patch)
tree7e8e45120d0b62d7be1d92c3f212fc0c16741a64 /clang/lib/CodeGen/CodeGenFunction.h
parent2888e2c7f97a0670bd12ae4667155c1699c6939f (diff)
downloadbcm5719-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.h8
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.
OpenPOWER on IntegriCloud