• Home
  • Raw
  • Download

Lines Matching refs:blockInfo

47                                         const CGBlockInfo &blockInfo,
52 const CGBlockInfo &blockInfo) { in buildCopyHelper() argument
53 return CodeGenFunction(CGM).GenerateCopyHelperFunction(blockInfo); in buildCopyHelper()
58 const CGBlockInfo &blockInfo) { in buildDisposeHelper() argument
59 return CodeGenFunction(CGM).GenerateDestroyHelperFunction(blockInfo); in buildDisposeHelper()
77 const CGBlockInfo &blockInfo) { in buildBlockDescriptor() argument
99 blockInfo.BlockSize.getQuantity())); in buildBlockDescriptor()
102 if (blockInfo.NeedsCopyDispose) { in buildBlockDescriptor()
104 elements.push_back(buildCopyHelper(CGM, blockInfo)); in buildBlockDescriptor()
107 elements.push_back(buildDisposeHelper(CGM, blockInfo)); in buildBlockDescriptor()
112 CGM.getContext().getObjCEncodingForBlock(blockInfo.getBlockExpr()); in buildBlockDescriptor()
119 elements.push_back(CGM.getObjCRuntime().BuildGCBlockLayout(CGM, blockInfo)); in buildBlockDescriptor()
121 elements.push_back(CGM.getObjCRuntime().BuildRCBlockLayout(CGM, blockInfo)); in buildBlockDescriptor()
566 CGBlockInfo &blockInfo = in enterBlockScope() local
568 blockInfo.NextBlockInfo = CGF.FirstBlockInfo; in enterBlockScope()
569 CGF.FirstBlockInfo = &blockInfo; in enterBlockScope()
573 computeBlockInfo(CGF.CGM, &CGF, blockInfo); in enterBlockScope()
576 if (blockInfo.CanBeGlobal) return; in enterBlockScope()
579 blockInfo.LocalAddress = CGF.CreateTempAlloca(blockInfo.StructureType, in enterBlockScope()
580 blockInfo.BlockAlign, "block"); in enterBlockScope()
583 if (!blockInfo.NeedsCopyDispose) return; in enterBlockScope()
594 CGBlockInfo::Capture &capture = blockInfo.getCapture(variable); in enterBlockScope()
613 Address addr = CGF.Builder.CreateStructGEP(blockInfo.LocalAddress, in enterBlockScope()
618 if (!blockInfo.DominatingIP) in enterBlockScope()
619 blockInfo.DominatingIP = cast<llvm::Instruction>(addr.getPointer()); in enterBlockScope()
678 CGBlockInfo blockInfo(blockExpr->getBlockDecl(), CurFn->getName()); in EmitBlockLiteral() local
679 computeBlockInfo(CGM, this, blockInfo); in EmitBlockLiteral()
680 blockInfo.BlockExpression = blockExpr; in EmitBlockLiteral()
681 return EmitBlockLiteral(blockInfo); in EmitBlockLiteral()
685 std::unique_ptr<CGBlockInfo> blockInfo; in EmitBlockLiteral() local
686 blockInfo.reset(findAndRemoveBlockInfo(&FirstBlockInfo, in EmitBlockLiteral()
689 blockInfo->BlockExpression = blockExpr; in EmitBlockLiteral()
690 return EmitBlockLiteral(*blockInfo); in EmitBlockLiteral()
693 llvm::Value *CodeGenFunction::EmitBlockLiteral(const CGBlockInfo &blockInfo) { in EmitBlockLiteral() argument
695 bool isLambdaConv = blockInfo.getBlockDecl()->isConversionFromLambda(); in EmitBlockLiteral()
697 = CodeGenFunction(CGM, true).GenerateBlockFunction(CurGD, blockInfo, in EmitBlockLiteral()
703 if (blockInfo.CanBeGlobal) in EmitBlockLiteral()
704 return buildGlobalBlock(CGM, blockInfo, blockFn); in EmitBlockLiteral()
712 llvm::Constant *descriptor = buildBlockDescriptor(CGM, blockInfo); in EmitBlockLiteral()
714 Address blockAddr = blockInfo.LocalAddress; in EmitBlockLiteral()
719 if (blockInfo.HasCapturedVariableLayout) flags |= BLOCK_HAS_EXTENDED_LAYOUT; in EmitBlockLiteral()
720 if (blockInfo.NeedsCopyDispose) flags |= BLOCK_HAS_COPY_DISPOSE; in EmitBlockLiteral()
721 if (blockInfo.HasCXXObject) flags |= BLOCK_HAS_CXX_OBJ; in EmitBlockLiteral()
722 if (blockInfo.UsesStret) flags |= BLOCK_USE_STRET; in EmitBlockLiteral()
756 const BlockDecl *blockDecl = blockInfo.getBlockDecl(); in EmitBlockLiteral()
760 Address addr = projectField(blockInfo.CXXThisIndex, blockInfo.CXXThisOffset, in EmitBlockLiteral()
768 const CGBlockInfo::Capture &capture = blockInfo.getCapture(variable); in EmitBlockLiteral()
890 ActivateCleanupBlock(cleanup, blockInfo.DominatingIP); in EmitBlockLiteral()
898 ConvertType(blockInfo.getBlockExpr()->getType())); in EmitBlockLiteral()
1038 CGBlockInfo blockInfo(blockExpr->getBlockDecl(), name); in GetAddrOfGlobalBlock() local
1039 blockInfo.BlockExpression = blockExpr; in GetAddrOfGlobalBlock()
1042 computeBlockInfo(*this, nullptr, blockInfo); in GetAddrOfGlobalBlock()
1049 blockInfo, in GetAddrOfGlobalBlock()
1055 return buildGlobalBlock(*this, blockInfo, blockFn); in GetAddrOfGlobalBlock()
1059 const CGBlockInfo &blockInfo, in buildGlobalBlock() argument
1061 assert(blockInfo.CanBeGlobal); in buildGlobalBlock()
1071 if (blockInfo.UsesStret) flags |= BLOCK_USE_STRET; in buildGlobalBlock()
1082 fields[4] = buildBlockDescriptor(CGM, blockInfo); in buildGlobalBlock()
1093 literal->setAlignment(blockInfo.BlockAlign.getQuantity()); in buildGlobalBlock()
1097 CGM.getTypes().ConvertType(blockInfo.getBlockExpr()->getType()); in buildGlobalBlock()
1141 const CGBlockInfo &blockInfo, in GenerateBlockFunction() argument
1144 const BlockDecl *blockDecl = blockInfo.getBlockDecl(); in GenerateBlockFunction()
1148 CurEHLocation = blockInfo.getBlockExpr()->getLocEnd(); in GenerateBlockFunction()
1150 BlockInfo = &blockInfo; in GenerateBlockFunction()
1179 const FunctionProtoType *fnType = blockInfo.getBlockExpr()->getFunctionType(); in GenerateBlockFunction()
1183 blockInfo.UsesStret = true; in GenerateBlockFunction()
1195 blockInfo.getBlockExpr()->getBody()->getLocStart()); in GenerateBlockFunction()
1218 Builder.CreateStructGEP(LoadBlockStruct(), blockInfo.CXXThisIndex, in GenerateBlockFunction()
1219 blockInfo.CXXThisOffset, "block.captured-this"); in GenerateBlockFunction()
1226 const CGBlockInfo::Capture &capture = blockInfo.getCapture(variable); in GenerateBlockFunction()
1267 const CGBlockInfo::Capture &capture = blockInfo.getCapture(variable); in GenerateBlockFunction()
1276 variable, BlockPointerDbgLoc, Builder, blockInfo, in GenerateBlockFunction()
1323 CodeGenFunction::GenerateCopyHelperFunction(const CGBlockInfo &blockInfo) { in GenerateCopyHelperFunction() argument
1362 llvm::Type *structPtrTy = blockInfo.StructureType->getPointerTo(); in GenerateCopyHelperFunction()
1365 src = Address(Builder.CreateLoad(src), blockInfo.BlockAlign); in GenerateCopyHelperFunction()
1369 dst = Address(Builder.CreateLoad(dst), blockInfo.BlockAlign); in GenerateCopyHelperFunction()
1372 const BlockDecl *blockDecl = blockInfo.getBlockDecl(); in GenerateCopyHelperFunction()
1378 const CGBlockInfo::Capture &capture = blockInfo.getCapture(variable); in GenerateCopyHelperFunction()
1502 CodeGenFunction::GenerateDestroyHelperFunction(const CGBlockInfo &blockInfo) { in GenerateDestroyHelperFunction() argument
1537 llvm::Type *structPtrTy = blockInfo.StructureType->getPointerTo(); in GenerateDestroyHelperFunction()
1540 src = Address(Builder.CreateLoad(src), blockInfo.BlockAlign); in GenerateDestroyHelperFunction()
1543 const BlockDecl *blockDecl = blockInfo.getBlockDecl(); in GenerateDestroyHelperFunction()
1551 const CGBlockInfo::Capture &capture = blockInfo.getCapture(variable); in GenerateDestroyHelperFunction()