Lines Matching refs:capture
310 const BlockDecl::Capture *capture, llvm::Type *type, in BlockLayoutChunk()
315 : Alignment(align), Size(size), Capture(capture), Type(type), in BlockLayoutChunk()
381 const BlockDecl::Capture *capture, llvm::Type *type, in addBlockLayout() argument
385 if (!capture) { in addBlockLayout()
388 align, size, capture, type, fieldType, BlockCaptureEntityKind::None, in addBlockLayout()
398 computeCopyInfoForBlockCapture(*capture, fieldType, LangOpts); in addBlockLayout()
400 computeDestroyInfoForBlockCapture(*capture, fieldType, LangOpts); in addBlockLayout()
401 Layout.push_back(BlockLayoutChunk(align, size, capture, type, fieldType, in addBlockLayout()
890 const CGBlockInfo::Capture &capture = blockInfo.getCapture(variable); in EmitBlockLiteral() local
893 if (capture.isConstant()) continue; in EmitBlockLiteral()
895 QualType type = capture.fieldType(); in EmitBlockLiteral()
899 Address blockField = projectField(capture.getIndex(), "block.captured"); in EmitBlockLiteral()
1218 const CGBlockInfo::Capture &capture = BlockInfo->getCapture(variable); in GetAddrOfBlockDecl() local
1221 if (capture.isConstant()) return LocalDeclMap.find(variable)->second; in GetAddrOfBlockDecl()
1223 Address addr = Builder.CreateStructGEP(LoadBlockStruct(), capture.getIndex(), in GetAddrOfBlockDecl()
1239 capture.fieldType()->isReferenceType()) && in GetAddrOfBlockDecl()
1242 if (capture.fieldType()->isReferenceType()) in GetAddrOfBlockDecl()
1243 addr = EmitLoadOfReference(MakeAddrLValue(addr, capture.fieldType())); in GetAddrOfBlockDecl()
1514 const CGBlockInfo::Capture &capture = blockInfo.getCapture(variable); in GenerateBlockFunction() local
1515 if (!capture.isConstant()) continue; in GenerateBlockFunction()
1521 Builder.CreateStore(capture.getConstant(), alloca); in GenerateBlockFunction()
1554 const CGBlockInfo::Capture &capture = blockInfo.getCapture(variable); in GenerateBlockFunction() local
1555 if (capture.isConstant()) { in GenerateBlockFunction()
1912 for (auto &capture : blockInfo.SortedCaptures) { in GenerateCopyHelperFunction() local
1913 if (capture.isConstantOrTrivial()) in GenerateCopyHelperFunction()
1916 const BlockDecl::Capture &CI = *capture.Cap; in GenerateCopyHelperFunction()
1918 BlockFieldFlags flags = capture.CopyFlags; in GenerateCopyHelperFunction()
1920 unsigned index = capture.getIndex(); in GenerateCopyHelperFunction()
1924 switch (capture.CopyKind) { in GenerateCopyHelperFunction()
1985 pushCaptureCleanup(capture.CopyKind, dstField, captureType, flags, in GenerateCopyHelperFunction()
2096 for (auto &capture : blockInfo.SortedCaptures) { in GenerateDestroyHelperFunction() local
2097 if (capture.isConstantOrTrivial()) in GenerateDestroyHelperFunction()
2100 const BlockDecl::Capture &CI = *capture.Cap; in GenerateDestroyHelperFunction()
2101 BlockFieldFlags flags = capture.DisposeFlags; in GenerateDestroyHelperFunction()
2103 Address srcField = Builder.CreateStructGEP(src, capture.getIndex()); in GenerateDestroyHelperFunction()
2105 pushCaptureCleanup(capture.DisposeKind, srcField, in GenerateDestroyHelperFunction()