diff options
author | Mike Stump <mrs@apple.com> | 2009-05-26 22:03:21 +0000 |
---|---|---|
committer | Mike Stump <mrs@apple.com> | 2009-05-26 22:03:21 +0000 |
commit | 49d1cd5a09ed3df353371fd7f206674a85e0fb45 (patch) | |
tree | a076a970c34ce0633615e4ef11df535a1573c6be /lib/CodeGen/CodeGenFunction.h | |
parent | 2f1735c643abfc7c18bf7d0ad95b716099d43ccf (diff) |
Fixup codegen for volatile structs in the trivial cases (a a=a and a=a=a).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72439 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CodeGenFunction.h')
-rw-r--r-- | lib/CodeGen/CodeGenFunction.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/CodeGen/CodeGenFunction.h b/lib/CodeGen/CodeGenFunction.h index 9a9ca05768..d87fbcdeb5 100644 --- a/lib/CodeGen/CodeGenFunction.h +++ b/lib/CodeGen/CodeGenFunction.h @@ -407,8 +407,10 @@ public: /// any type. The result is returned as an RValue struct. If this is an /// aggregate expression, the aggloc/agglocvolatile arguments indicate where /// the result should be returned. + /// + /// \param IgnoreResult - True if the resulting value isn't used. RValue EmitAnyExpr(const Expr *E, llvm::Value *AggLoc = 0, - bool isAggLocVolatile = false); + bool isAggLocVolatile = false, bool IgnoreResult = false); // EmitVAListRef - Emit a "reference" to a va_list; this is either the address // or the value of the expression, depending on how va_list is defined. @@ -741,7 +743,8 @@ public: /// EmitAggExpr - Emit the computation of the specified expression of /// aggregate type. The result is computed into DestPtr. Note that if /// DestPtr is null, the value of the aggregate expression is not needed. - void EmitAggExpr(const Expr *E, llvm::Value *DestPtr, bool VolatileDest); + void EmitAggExpr(const Expr *E, llvm::Value *DestPtr, bool VolatileDest, + bool IgnoreResult = false); /// EmitComplexExpr - Emit the computation of the specified expression of /// complex type, returning the result. |