aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/CGDeclCXX.cpp
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2011-01-13 21:35:27 +0000
committerFariborz Jahanian <fjahanian@apple.com>2011-01-13 21:35:27 +0000
commit0990b00ba0627d76d53432afe729041ca3f4579b (patch)
treecde632c93ba613eafde161a5b1f568774486253a /lib/CodeGen/CGDeclCXX.cpp
parentd1d8ddc5bae35610c243cc92812e72b83667d227 (diff)
Save getObjCGCAttrKind and use it in two places
for efficiancy (still part of //rdar://8761767). Per John's comment. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@123401 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CGDeclCXX.cpp')
-rw-r--r--lib/CodeGen/CGDeclCXX.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/CodeGen/CGDeclCXX.cpp b/lib/CodeGen/CGDeclCXX.cpp
index 84e03446f6..8b2d6f5e66 100644
--- a/lib/CodeGen/CGDeclCXX.cpp
+++ b/lib/CodeGen/CGDeclCXX.cpp
@@ -36,10 +36,11 @@ static void EmitDeclInit(CodeGenFunction &CGF, const VarDecl &D,
if (!CGF.hasAggregateLLVMType(T)) {
llvm::Value *V = CGF.EmitScalarExpr(Init);
CodeGenModule &CGM = CGF.CGM;
- if (CGF.getContext().getObjCGCAttrKind(T) == Qualifiers::Strong)
+ Qualifiers::GC GCAttr = CGM.getContext().getObjCGCAttrKind(T);
+ if (GCAttr == Qualifiers::Strong)
CGM.getObjCRuntime().EmitObjCGlobalAssign(CGF, V, DeclPtr,
D.isThreadSpecified());
- else if (CGF.getContext().getObjCGCAttrKind(T) == Qualifiers::Weak)
+ else if (GCAttr == Qualifiers::Weak)
CGM.getObjCRuntime().EmitObjCWeakAssign(CGF, V, DeclPtr);
else
CGF.EmitStoreOfScalar(V, DeclPtr, isVolatile, Alignment, T);