Home | History | Annotate | Download | only in CodeGen

Lines Matching refs:variable

219   // We can only do this if the variable is const.
230 // If the variable doesn't have any initializer (shouldn't this be
322 const VarDecl *variable = ci->getVariable();
343 if (llvm::Constant *constant = tryCaptureAsConstant(CGM, variable)) {
344 info.Captures[variable] = CGBlockInfo::Capture::makeConstant(constant);
351 = variable->getType().getObjCLifetime()) {
364 } else if (variable->getType()->isObjCRetainableType()) {
375 variable->getType()->getAsCXXRecordDecl()) {
383 CharUnits size = C.getTypeSizeInChars(variable->getType());
384 CharUnits align = C.getDeclAlign(variable);
388 CGM.getTypes().ConvertTypeForMem(variable->getType());
547 const VarDecl *variable = ci->getVariable();
548 const CGBlockInfo::Capture &capture = blockInfo.getCapture(variable);
553 QualType type = variable->getType();
567 BlockInfo->getCapture(variable);
575 src = LocalDeclMap[variable];
596 // If it's a reference variable, copy the reference into the block field.
602 // Fake up a new variable so that EmitScalarInit doesn't think
603 // we're referring to the variable in its own initializer.
609 DeclRefExpr notNested(const_cast<VarDecl*>(variable), type, VK_LValue,
611 BlockDeclRefExpr nested(const_cast<VarDecl*>(variable), type,
621 getContext().getDeclAlign(variable)
769 llvm::Value *CodeGenFunction::GetAddrOfBlockDecl(const VarDecl *variable,
772 const CGBlockInfo::Capture &capture = BlockInfo->getCapture(variable);
775 if (capture.isConstant()) return LocalDeclMap[variable];
787 = llvm::PointerType::get(BuildByRefType(variable), 0);
797 addr = Builder.CreateStructGEP(addr, getByRefValueLLVMField(variable),
798 variable->getNameAsString());
801 if (variable->getType()->isReferenceType())
973 const VarDecl *variable = ci->getVariable();
974 const CGBlockInfo::Capture &capture = blockInfo.getCapture(variable);
977 unsigned align = getContext().getDeclAlign(variable).getQuantity();
980 CreateMemTemp(variable->getType(), "block.captured-const");
985 LocalDeclMap[variable] = alloca;
1007 const VarDecl *variable = ci->getVariable();
1008 DI->setLocation(variable->getLocation());
1010 const CGBlockInfo::Capture &capture = blockInfo.getCapture(variable);
1012 DI->EmitDeclareOfAutoVariable(variable, LocalDeclMap[variable],
1017 DI->EmitDeclareOfBlockDeclRefVariable(variable, BlockPointer,
1105 const VarDecl *variable = ci->getVariable();
1106 QualType type = variable->getType();
1108 const CGBlockInfo::Capture &capture = blockInfo.getCapture(variable);
1216 const VarDecl *variable = ci->getVariable();
1217 QualType type = variable->getType();
1219 const CGBlockInfo::Capture &capture = blockInfo.getCapture(variable);
1321 /// Emits the copy/dispose helpers for an ARC __block __weak variable.
1341 /// Emits the copy/dispose helpers for an ARC __block __strong variable
1350 // variable.
1370 /// Emits the copy/dispose helpers for a __block variable with a
1463 /// Build the copy helper for a __block variable.
1471 /// Generate code for a __block variable's dispose helper.
1522 /// Build the dispose helper for a __block variable.
1558 const VarDecl &var = *emission.Variable;
1647 /// BuildByRefType - This routine changes a __block variable declared as T x
1738 /// Initialize the structural components of a __block variable, i.e.
1752 const VarDecl &D = *emission.Variable;
1764 // Store the address of the variable into its own forwarding pointer.
1809 /// Enter a cleanup to destroy a __block variable. Note that this
1810 /// cleanup should be a no-op if the variable hasn't left the stack
1811 /// yet; if a cleanup is required for the variable itself, that needs