Lines Matching refs:Func
281 void MetadataStreamerV2::emitKernelLanguage(const Function &Func) { in emitKernelLanguage() argument
285 auto Node = Func.getParent()->getNamedMetadata("opencl.ocl.version"); in emitKernelLanguage()
299 void MetadataStreamerV2::emitKernelAttrs(const Function &Func) { in emitKernelAttrs() argument
302 if (auto Node = Func.getMetadata("reqd_work_group_size")) in emitKernelAttrs()
304 if (auto Node = Func.getMetadata("work_group_size_hint")) in emitKernelAttrs()
306 if (auto Node = Func.getMetadata("vec_type_hint")) { in emitKernelAttrs()
311 if (Func.hasFnAttribute("runtime-handle")) { in emitKernelAttrs()
313 Func.getFnAttribute("runtime-handle").getValueAsString().str(); in emitKernelAttrs()
317 void MetadataStreamerV2::emitKernelArgs(const Function &Func) { in emitKernelArgs() argument
318 for (auto &Arg : Func.args()) in emitKernelArgs()
321 emitHiddenKernelArgs(Func); in emitKernelArgs()
325 auto Func = Arg.getParent(); in emitKernelArg() local
330 Node = Func->getMetadata("kernel_arg_name"); in emitKernelArg()
337 Node = Func->getMetadata("kernel_arg_type"); in emitKernelArg()
342 Node = Func->getMetadata("kernel_arg_base_type"); in emitKernelArg()
351 Node = Func->getMetadata("kernel_arg_access_qual"); in emitKernelArg()
357 Node = Func->getMetadata("kernel_arg_type_qual"); in emitKernelArg()
362 const DataLayout &DL = Func->getParent()->getDataLayout(); in emitKernelArg()
415 void MetadataStreamerV2::emitHiddenKernelArgs(const Function &Func) { in emitHiddenKernelArgs() argument
417 getIntegerAttribute(Func, "amdgpu-implicitarg-num-bytes", 0); in emitHiddenKernelArgs()
422 auto &DL = Func.getParent()->getDataLayout(); in emitHiddenKernelArgs()
423 auto Int64Ty = Type::getInt64Ty(Func.getContext()); in emitHiddenKernelArgs()
432 auto Int8PtrTy = Type::getInt8PtrTy(Func.getContext(), in emitHiddenKernelArgs()
438 if (Func.getParent()->getNamedMetadata("llvm.printf.fmts")) in emitHiddenKernelArgs()
447 if (Func.hasFnAttribute("calls-enqueue-kernel")) { in emitHiddenKernelArgs()
479 auto &Func = MF.getFunction(); in emitKernel() local
480 if (Func.getCallingConv() != CallingConv::AMDGPU_KERNEL) in emitKernel()
489 Kernel.mName = Func.getName(); in emitKernel()
490 Kernel.mSymbolName = (Twine(Func.getName()) + Twine("@kd")).str(); in emitKernel()
491 emitKernelLanguage(Func); in emitKernel()
492 emitKernelAttrs(Func); in emitKernel()
493 emitKernelArgs(Func); in emitKernel()
688 void MetadataStreamerV3::emitKernelLanguage(const Function &Func, in emitKernelLanguage() argument
691 auto Node = Func.getParent()->getNamedMetadata("opencl.ocl.version"); in emitKernelLanguage()
707 void MetadataStreamerV3::emitKernelAttrs(const Function &Func, in emitKernelAttrs() argument
710 if (auto Node = Func.getMetadata("reqd_work_group_size")) in emitKernelAttrs()
712 if (auto Node = Func.getMetadata("work_group_size_hint")) in emitKernelAttrs()
714 if (auto Node = Func.getMetadata("vec_type_hint")) { in emitKernelAttrs()
719 if (Func.hasFnAttribute("runtime-handle")) { in emitKernelAttrs()
721 Func.getFnAttribute("runtime-handle").getValueAsString().str()); in emitKernelAttrs()
725 void MetadataStreamerV3::emitKernelArgs(const Function &Func, in emitKernelArgs() argument
729 for (auto &Arg : Func.args()) in emitKernelArgs()
732 emitHiddenKernelArgs(Func, Offset, *Args); in emitKernelArgs()
735 if (Func.getParent()->getNamedMetadata("opencl.ocl.version")) { in emitKernelArgs()
736 auto &DL = Func.getParent()->getDataLayout(); in emitKernelArgs()
737 auto Int64Ty = Type::getInt64Ty(Func.getContext()); in emitKernelArgs()
744 Type::getInt8PtrTy(Func.getContext(), AMDGPUAS::GLOBAL_ADDRESS); in emitKernelArgs()
748 if (Func.getParent()->getNamedMetadata("llvm.printf.fmts")) in emitKernelArgs()
755 if (Func.hasFnAttribute("calls-enqueue-kernel")) { in emitKernelArgs()
769 auto Func = Arg.getParent(); in emitKernelArg() local
774 Node = Func->getMetadata("kernel_arg_name"); in emitKernelArg()
781 Node = Func->getMetadata("kernel_arg_type"); in emitKernelArg()
786 Node = Func->getMetadata("kernel_arg_base_type"); in emitKernelArg()
795 Node = Func->getMetadata("kernel_arg_access_qual"); in emitKernelArg()
801 Node = Func->getMetadata("kernel_arg_type_qual"); in emitKernelArg()
806 const DataLayout &DL = Func->getParent()->getDataLayout(); in emitKernelArg()
817 emitKernelArg(Func->getParent()->getDataLayout(), Arg.getType(), in emitKernelArg()
874 void MetadataStreamerV3::emitHiddenKernelArgs(const Function &Func, in emitHiddenKernelArgs() argument
878 getIntegerAttribute(Func, "amdgpu-implicitarg-num-bytes", 0); in emitHiddenKernelArgs()
883 auto &DL = Func.getParent()->getDataLayout(); in emitHiddenKernelArgs()
884 auto Int64Ty = Type::getInt64Ty(Func.getContext()); in emitHiddenKernelArgs()
894 Type::getInt8PtrTy(Func.getContext(), AMDGPUAS::GLOBAL_ADDRESS); in emitHiddenKernelArgs()
899 if (Func.getParent()->getNamedMetadata("llvm.printf.fmts")) in emitHiddenKernelArgs()
908 if (Func.hasFnAttribute("calls-enqueue-kernel")) { in emitHiddenKernelArgs()
975 auto &Func = MF.getFunction(); in emitKernel() local
978 assert(Func.getCallingConv() == CallingConv::AMDGPU_KERNEL || in emitKernel()
979 Func.getCallingConv() == CallingConv::SPIR_KERNEL); in emitKernel()
986 Kern[".name"] = std::make_shared<msgpack::ScalarNode>(Func.getName()); in emitKernel()
988 (Twine(Func.getName()) + Twine(".kd")).str()); in emitKernel()
989 emitKernelLanguage(Func, Kern); in emitKernel()
990 emitKernelAttrs(Func, Kern); in emitKernel()
991 emitKernelArgs(Func, Kern); in emitKernel()