Lines Matching defs:variable

162   // If an equivalent block descriptor global variable exists, return it.
170 // If there isn't an equivalent block descriptor global variable, create a new
447 // We can only do this if the variable is const.
458 // If the variable doesn't have any initializer (shouldn't this be
530 // If the variable is captured by an enclosing block or lambda expression,
536 // If the captured variable is a non-escaping __block variable, the field
537 // type is the reference type. If the variable is a __block variable that
538 // already has a reference type, the field type is the variable's type.
595 const VarDecl *variable = CI.getVariable();
602 // Since a __block variable cannot be captured by lambdas, its type and
604 assert(CGF && getCaptureFieldType(*CGF, CI) == variable->getType() &&
605 "capture type differs from the variable type");
607 variable->getType(), layout, info, CGM);
613 if (llvm::Constant *constant = tryCaptureAsConstant(CGM, CGF, variable)) {
630 CharUnits align = C.getDeclAlign(variable);
737 // an over-aligned variable. We will be adding a padding field to
762 // The block literal is emitted as a global variable, and the block invoke
889 const VarDecl *variable = CI.getVariable();
890 const CGBlockInfo::Capture &capture = blockInfo.getCapture(variable);
913 BlockInfo->getCapture(variable);
920 auto I = LocalDeclMap.find(variable);
925 DeclRefExpr declRef(getContext(), const_cast<VarDecl *>(variable),
963 // If it's a reference variable, copy the reference into the block field.
974 // If this is an ARC __strong block-pointer variable, don't do a
979 // variable, because the local variable's lifetime should be strictly
992 // Fake up a new variable so that EmitScalarInit doesn't think
993 // we're referring to the variable in its own initializer.
999 DeclRefExpr declRef(getContext(), const_cast<VarDecl *>(variable),
1216 Address CodeGenFunction::GetAddrOfBlockDecl(const VarDecl *variable) {
1218 const CGBlockInfo::Capture &capture = BlockInfo->getCapture(variable);
1221 if (capture.isConstant()) return LocalDeclMap.find(variable)->second;
1226 if (variable->isEscapingByref()) {
1230 auto &byrefInfo = getBlockByrefInfo(variable);
1235 variable->getName());
1238 assert((!variable->isNonEscapingByref() ||
1240 "the capture field of a non-escaping variable should have a "
1378 // Allocate a stack slot like for any local variable to guarantee optimal
1441 // For OpenCL passed block pointer can be private AS local variable or
1442 // global AS program scope variable (for the case with and without captures).
1513 const VarDecl *variable = CI.getVariable();
1514 const CGBlockInfo::Capture &capture = blockInfo.getCapture(variable);
1517 CharUnits align = getContext().getDeclAlign(variable);
1519 CreateMemTemp(variable->getType(), align, "block.captured-const");
1523 setAddrOfLocalVar(variable, alloca);
1550 const VarDecl *variable = CI.getVariable();
1551 DI->EmitLocation(Builder, variable->getLocation());
1554 const CGBlockInfo::Capture &capture = blockInfo.getCapture(variable);
1556 auto addr = LocalDeclMap.find(variable)->second;
1557 (void)DI->EmitDeclareOfAutoVariable(variable, addr.getPointer(),
1563 variable, BlockPointerDbgLoc, Builder, blockInfo,
1646 /// Release a __block variable.
1862 /// the contents of an individual __block variable to the heap.
1927 assert(CI.getCopyExpr() && "copy expression for variable is missing");
2049 /// variable.
2155 /// Emits the copy/dispose helpers for an ARC __block __weak variable.
2175 /// Emits the copy/dispose helpers for an ARC __block __strong variable
2184 // variable.
2212 /// variable that's of block-pointer type.
2238 /// Emits the copy/dispose helpers for a __block variable with a
2267 /// Emits the copy/dispose helpers for a __block variable that is a non-trivial
2356 /// Build the copy helper for a __block variable.
2364 /// Generate code for a __block variable's dispose helper.
2412 /// Build the dispose helper for a __block variable.
2420 /// Lazily build the copy and dispose helpers for a __block variable
2441 /// Build the copy and dispose helpers for the given __block variable
2554 /// BuildByrefInfo - This routine changes a __block variable declared as T x
2655 /// Initialize the structural components of a __block variable, i.e.
2695 // Store the address of the variable into its own forwarding pointer.
2723 printf("\n Inline flag for BYREF variable layout (%d):", flags.getBitMask());