Lines Matching refs:variable
271 // We can only do this if the variable is const.
282 // If the variable doesn't have any initializer (shouldn't this be
374 const VarDecl *variable = CI.getVariable();
395 if (llvm::Constant *constant = tryCaptureAsConstant(CGM, CGF, variable)) {
396 info.Captures[variable] = CGBlockInfo::Capture::makeConstant(constant);
403 variable->getType().getObjCLifetime();
417 } else if (variable->getType()->isObjCRetainableType()) {
430 variable->getType()->getAsCXXRecordDecl()) {
438 QualType VT = variable->getType();
440 CharUnits align = C.getDeclAlign(variable);
588 const VarDecl *variable = CI.getVariable();
589 CGBlockInfo::Capture &capture = blockInfo.getCapture(variable);
594 variable->getType().isDestructedType();
620 CGF.pushDestroy(cleanupKind, addr, variable->getType(),
742 const VarDecl *variable = CI.getVariable();
743 const CGBlockInfo::Capture &capture = blockInfo.getCapture(variable);
748 QualType type = variable->getType();
749 CharUnits align = getContext().getDeclAlign(variable);
763 BlockInfo->getCapture(variable);
777 src = LocalDeclMap.lookup(variable);
779 DeclRefExpr declRef(const_cast<VarDecl *>(variable),
816 // If it's a reference variable, copy the reference into the block field.
822 // If this is an ARC __strong block-pointer variable, don't do a
827 // variable, because the local variable's lifetime should be strictly
842 // Fake up a new variable so that EmitScalarInit doesn't think
843 variable in its own initializer.
850 DeclRefExpr declRef(const_cast<VarDecl*>(variable),
978 llvm::Value *CodeGenFunction::GetAddrOfBlockDecl(const VarDecl *variable,
981 const CGBlockInfo::Capture &capture = BlockInfo->getCapture(variable);
984 if (capture.isConstant()) return LocalDeclMap[variable];
996 = llvm::PointerType::get(BuildByRefType(variable), 0);
1006 addr = Builder.CreateStructGEP(addr, getByRefValueLLVMField(variable),
1007 variable->getNameAsString());
1010 if (variable->getType()->isReferenceType())
1175 const VarDecl *variable = CI.getVariable();
1176 const CGBlockInfo::Capture &capture = blockInfo.getCapture(variable);
1179 unsigned align = getContext().getDeclAlign(variable).getQuantity();
1182 CreateMemTemp(variable->getType(), "block.captured-const");
1187 LocalDeclMap[variable] = alloca;
1217 const VarDecl *variable = CI.getVariable();
1218 DI->EmitLocation(Builder, variable->getLocation());
1222 const CGBlockInfo::Capture &capture = blockInfo.getCapture(variable);
1224 DI->EmitDeclareOfAutoVariable(variable, LocalDeclMap[variable],
1229 DI->EmitDeclareOfBlockDeclRefVariable(variable, BlockPointerDbgLoc,
1275 /// the contents of an individual __block variable to the heap.
1327 const VarDecl *variable = CI.getVariable();
1328 QualType type = variable->getType();
1330 const CGBlockInfo::Capture &capture = blockInfo.getCapture(variable);
1423 if (CI.isByRef() && variable->getType()->getAsCXXRecordDecl()) {
1425 CGM.getContext().getBlockVarCopyInits(variable);
1451 /// variable.
1496 const VarDecl *variable = CI.getVariable();
1497 QualType type = variable->getType();
1499 const CGBlockInfo::Capture &capture = blockInfo.getCapture(variable);
1612 /// Emits the copy/dispose helpers for an ARC __block __weak variable.
1632 /// Emits the copy/dispose helpers for an ARC __block __strong variable
1641 // variable.
1674 /// variable that's of block-pointer type.
1703 /// Emits the copy/dispose helpers for a __block variable with a
1798 /// Build the copy helper for a __block variable.
1807 /// Generate code for a __block variable's dispose helper.
1859 /// Build the dispose helper for a __block variable.
1868 /// Lazily build the copy and dispose helpers for a __block variable
1897 /// Build the copy and dispose helpers for the given __block variable
1903 const VarDecl &var = *emission.Variable;
1991 /// BuildByRefType - This routine changes a __block variable declared as T x
2095 /// Initialize the structural components of a __block variable, i.e.
2109 const VarDecl &D = *emission.Variable;
2126 // Store the address of the variable into its own forwarding pointer.
2155 printf("\n Inline flag for BYREF variable layout (%d):", flags.getBitMask());
2222 /// Enter a cleanup to destroy a __block variable. Note that this
2223 /// cleanup should be a no-op if the variable hasn't left the stack
2224 /// yet; if a cleanup is required for the variable itself, that needs