Lines Matching refs:capture
335 const BlockDecl::Capture *capture, llvm::Type *type, in BlockLayoutChunk()
340 : Alignment(align), Size(size), Capture(capture), Type(type), in BlockLayoutChunk()
406 const BlockDecl::Capture *capture, llvm::Type *type, in addBlockLayout() argument
410 if (!capture) { in addBlockLayout()
413 align, size, capture, type, fieldType, BlockCaptureEntityKind::None, in addBlockLayout()
423 computeCopyInfoForBlockCapture(*capture, fieldType, LangOpts); in addBlockLayout()
425 computeDestroyInfoForBlockCapture(*capture, fieldType, LangOpts); in addBlockLayout()
426 Layout.push_back(BlockLayoutChunk(align, size, capture, type, fieldType, in addBlockLayout()
915 const CGBlockInfo::Capture &capture = blockInfo.getCapture(variable); in EmitBlockLiteral() local
918 if (capture.isConstant()) continue; in EmitBlockLiteral()
920 QualType type = capture.fieldType(); in EmitBlockLiteral()
924 Address blockField = projectField(capture.getIndex(), "block.captured"); in EmitBlockLiteral()
1249 const CGBlockInfo::Capture &capture = BlockInfo->getCapture(variable); in GetAddrOfBlockDecl() local
1252 if (capture.isConstant()) return LocalDeclMap.find(variable)->second; in GetAddrOfBlockDecl()
1254 Address addr = Builder.CreateStructGEP(LoadBlockStruct(), capture.getIndex(), in GetAddrOfBlockDecl()
1271 capture.fieldType()->isReferenceType()) && in GetAddrOfBlockDecl()
1274 if (capture.fieldType()->isReferenceType()) in GetAddrOfBlockDecl()
1275 addr = EmitLoadOfReference(MakeAddrLValue(addr, capture.fieldType())); in GetAddrOfBlockDecl()
1545 const CGBlockInfo::Capture &capture = blockInfo.getCapture(variable); in GenerateBlockFunction() local
1546 if (!capture.isConstant()) continue; in GenerateBlockFunction()
1552 Builder.CreateStore(capture.getConstant(), alloca); in GenerateBlockFunction()
1585 const CGBlockInfo::Capture &capture = blockInfo.getCapture(variable); in GenerateBlockFunction() local
1586 if (capture.isConstant()) { in GenerateBlockFunction()
1946 for (auto &capture : blockInfo.SortedCaptures) { in GenerateCopyHelperFunction() local
1947 if (capture.isConstantOrTrivial()) in GenerateCopyHelperFunction()
1950 const BlockDecl::Capture &CI = *capture.Cap; in GenerateCopyHelperFunction()
1952 BlockFieldFlags flags = capture.CopyFlags; in GenerateCopyHelperFunction()
1954 unsigned index = capture.getIndex(); in GenerateCopyHelperFunction()
1958 switch (capture.CopyKind) { in GenerateCopyHelperFunction()
2021 pushCaptureCleanup(capture.CopyKind, dstField, captureType, flags, in GenerateCopyHelperFunction()
2132 for (auto &capture : blockInfo.SortedCaptures) { in GenerateDestroyHelperFunction() local
2133 if (capture.isConstantOrTrivial()) in GenerateDestroyHelperFunction()
2136 const BlockDecl::Capture &CI = *capture.Cap; in GenerateDestroyHelperFunction()
2137 BlockFieldFlags flags = capture.DisposeFlags; in GenerateDestroyHelperFunction()
2139 Address srcField = Builder.CreateStructGEP(src, capture.getIndex()); in GenerateDestroyHelperFunction()
2141 pushCaptureCleanup(capture.DisposeKind, srcField, in GenerateDestroyHelperFunction()