reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
3124 CGF.CGM.getDataLayout()); 3126 llvm::BasicBlock *writebackBB = CGF.createBasicBlock("icr.writeback"); 3127 contBB = CGF.createBasicBlock("icr.done"); 3130 CGF.Builder.CreateIsNull(srcAddr.getPointer(), "icr.isnull"); 3131 CGF.Builder.CreateCondBr(isNull, contBB, writebackBB); 3132 CGF.EmitBlock(writebackBB); 3136 llvm::Value *value = CGF.Builder.CreateLoad(writeback.Temporary); 3139 value = CGF.Builder.CreateBitCast(value, srcAddr.getElementType(), 3154 value = CGF.EmitARCRetainNonBlock(value); 3157 CGF.EmitARCIntrinsicUse(writeback.ToUse); 3160 llvm::Value *oldValue = CGF.EmitLoadOfScalar(srcLV, SourceLocation()); 3163 CGF.EmitStoreOfScalar(value, srcLV, /*init*/ false); 3166 CGF.EmitARCRelease(oldValue, srcLV.isARCPreciseLifetime()); 3170 CGF.EmitStoreThroughLValue(RValue::get(value), srcLV); 3175 CGF.EmitBlock(contBB);