reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
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(