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

References

tools/clang/lib/CodeGen/CGBlocks.cpp
  451   if (CGM.getLangOpts().OpenCL) {
  455         CGM.getContext().getTargetAddressSpace(LangAS::opencl_generic);
  457         CharUnits::fromQuantity(CGM.getTarget().getPointerAlign(GenericAS) / 8);
  459         CharUnits::fromQuantity(CGM.getTarget().getPointerWidth(GenericAS) / 8);
  460     assert(CGM.getIntSize() <= GenPtrSize);
  461     assert(CGM.getIntAlign() <= GenPtrAlign);
  462     assert((2 * CGM.getIntSize()).isMultipleOf(GenPtrAlign));
  463     elementTypes.push_back(CGM.IntTy); /* total size */
  464     elementTypes.push_back(CGM.IntTy); /* align */
  466         CGM.getOpenCLRuntime()
  469         2 * CGM.getIntSize().getQuantity() + GenPtrSize.getQuantity();
  472             CGM.getTargetCodeGenInfo().getTargetOpenCLBlockHelper()) {
  476         unsigned Align = CGM.getDataLayout().getABITypeAlignment(I);
  480         Offset += CGM.getDataLayout().getTypeAllocSize(I);
  489     assert(CGM.getIntSize() <= CGM.getPointerSize());
  489     assert(CGM.getIntSize() <= CGM.getPointerSize());
  490     assert(CGM.getIntAlign() <= CGM.getPointerAlign());
  490     assert(CGM.getIntAlign() <= CGM.getPointerAlign());
  491     assert((2 * CGM.getIntSize()).isMultipleOf(CGM.getPointerAlign()));
  491     assert((2 * CGM.getIntSize()).isMultipleOf(CGM.getPointerAlign()));
  492     info.BlockAlign = CGM.getPointerAlign();
  493     info.BlockSize = 3 * CGM.getPointerSize() + 2 * CGM.getIntSize();
  493     info.BlockSize = 3 * CGM.getPointerSize() + 2 * CGM.getIntSize();
  494     elementTypes.push_back(CGM.VoidPtrTy);
  495     elementTypes.push_back(CGM.IntTy);
  496     elementTypes.push_back(CGM.IntTy);
  497     elementTypes.push_back(CGM.VoidPtrTy);
  498     elementTypes.push_back(CGM.getBlockDescriptorType());