reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

tools/clang/lib/CodeGen/CGBlocks.cpp
 1389   assert(!CGM.getAddrOfGlobalBlockIfEmitted(blockInfo.BlockExpression) &&
 1393   ConstantInitBuilder builder(CGM);
 1396   bool IsOpenCL = CGM.getLangOpts().OpenCL;
 1397   bool IsWindows = CGM.getTarget().getTriple().isOSWindows();
 1401       fields.addNullPointer(CGM.Int8PtrPtrTy);
 1403       fields.add(CGM.getNSConcreteGlobalBlock());
 1410     fields.addInt(CGM.IntTy, flags.getBitMask());
 1413     fields.addInt(CGM.IntTy, 0);
 1415     fields.addInt(CGM.IntTy, blockInfo.BlockSize.getQuantity());
 1416     fields.addInt(CGM.IntTy, blockInfo.BlockAlign.getQuantity());
 1424     fields.add(buildBlockDescriptor(CGM, blockInfo));
 1426                  CGM.getTargetCodeGenInfo().getTargetOpenCLBlockHelper()) {
 1427     for (auto I : Helper->getCustomFieldValues(CGM, blockInfo)) {
 1433   if (CGM.getContext().getLangOpts().OpenCL)
 1434     AddrSpace = CGM.getContext().getTargetAddressSpace(LangAS::opencl_global);
 1445     auto *Init = llvm::Function::Create(llvm::FunctionType::get(CGM.VoidTy,
 1447         &CGM.getModule());
 1448     llvm::IRBuilder<> b(llvm::BasicBlock::Create(CGM.getLLVMContext(), "entry",
 1450     b.CreateAlignedStore(CGM.getNSConcreteGlobalBlock(),
 1451         b.CreateStructGEP(literal, 0), CGM.getPointerAlign().getQuantity());
 1455     auto *InitVar = new llvm::GlobalVariable(CGM.getModule(), Init->getType(),
 1459     CGM.addUsedGlobal(InitVar);
 1464     CGM.getTypes().ConvertType(blockInfo.getBlockExpr()->getType());
 1467   CGM.setAddrOfGlobalBlock(blockInfo.BlockExpression, Result);
 1468   if (CGM.getContext().getLangOpts().OpenCL)
 1469     CGM.getOpenCLRuntime().recordBlockInfo(