Lines Matching refs:Func
247 void MetadataStreamerV2::emitKernelLanguage(const Function &Func) { in emitKernelLanguage() argument
251 auto Node = Func.getParent()->getNamedMetadata("opencl.ocl.version"); in emitKernelLanguage()
265 void MetadataStreamerV2::emitKernelAttrs(const Function &Func) { in emitKernelAttrs() argument
268 if (auto Node = Func.getMetadata("reqd_work_group_size")) in emitKernelAttrs()
270 if (auto Node = Func.getMetadata("work_group_size_hint")) in emitKernelAttrs()
272 if (auto Node = Func.getMetadata("vec_type_hint")) { in emitKernelAttrs()
277 if (Func.hasFnAttribute("runtime-handle")) { in emitKernelAttrs()
279 Func.getFnAttribute("runtime-handle").getValueAsString().str(); in emitKernelAttrs()
283 void MetadataStreamerV2::emitKernelArgs(const Function &Func, in emitKernelArgs() argument
285 for (auto &Arg : Func.args()) in emitKernelArgs()
288 emitHiddenKernelArgs(Func, ST); in emitKernelArgs()
292 auto Func = Arg.getParent(); in emitKernelArg() local
297 Node = Func->getMetadata("kernel_arg_name"); in emitKernelArg()
304 Node = Func->getMetadata("kernel_arg_type"); in emitKernelArg()
309 Node = Func->getMetadata("kernel_arg_base_type"); in emitKernelArg()
318 Node = Func->getMetadata("kernel_arg_access_qual"); in emitKernelArg()
324 Node = Func->getMetadata("kernel_arg_type_qual"); in emitKernelArg()
328 const DataLayout &DL = Func->getParent()->getDataLayout(); in emitKernelArg()
384 void MetadataStreamerV2::emitHiddenKernelArgs(const Function &Func, in emitHiddenKernelArgs() argument
386 unsigned HiddenArgNumBytes = ST.getImplicitArgNumBytes(Func); in emitHiddenKernelArgs()
390 auto &DL = Func.getParent()->getDataLayout(); in emitHiddenKernelArgs()
391 auto Int64Ty = Type::getInt64Ty(Func.getContext()); in emitHiddenKernelArgs()
400 auto Int8PtrTy = Type::getInt8PtrTy(Func.getContext(), in emitHiddenKernelArgs()
407 if (Func.getParent()->getNamedMetadata("llvm.printf.fmts")) in emitHiddenKernelArgs()
409 else if (!Func.hasFnAttribute("amdgpu-no-hostcall-ptr")) in emitHiddenKernelArgs()
418 if (Func.hasFnAttribute("calls-enqueue-kernel")) { in emitHiddenKernelArgs()
429 if (!Func.hasFnAttribute("amdgpu-no-multigrid-sync-arg")) in emitHiddenKernelArgs()
459 auto &Func = MF.getFunction(); in emitKernel() local
460 if (Func.getCallingConv() != CallingConv::AMDGPU_KERNEL) in emitKernel()
470 Kernel.mName = std::string(Func.getName()); in emitKernel()
471 Kernel.mSymbolName = (Twine(Func.getName()) + Twine("@kd")).str(); in emitKernel()
472 emitKernelLanguage(Func); in emitKernel()
473 emitKernelAttrs(Func); in emitKernel()
474 emitKernelArgs(Func, ST); in emitKernel()
633 void MetadataStreamerV3::emitKernelLanguage(const Function &Func, in emitKernelLanguage() argument
636 auto Node = Func.getParent()->getNamedMetadata("opencl.ocl.version"); in emitKernelLanguage()
652 void MetadataStreamerV3::emitKernelAttrs(const Function &Func, in emitKernelAttrs() argument
655 if (auto Node = Func.getMetadata("reqd_work_group_size")) in emitKernelAttrs()
657 if (auto Node = Func.getMetadata("work_group_size_hint")) in emitKernelAttrs()
659 if (auto Node = Func.getMetadata("vec_type_hint")) { in emitKernelAttrs()
666 if (Func.hasFnAttribute("runtime-handle")) { in emitKernelAttrs()
668 Func.getFnAttribute("runtime-handle").getValueAsString().str(), in emitKernelAttrs()
671 if (Func.hasFnAttribute("device-init")) in emitKernelAttrs()
673 else if (Func.hasFnAttribute("device-fini")) in emitKernelAttrs()
679 auto &Func = MF.getFunction(); in emitKernelArgs() local
682 for (auto &Arg : Func.args()) in emitKernelArgs()
692 auto Func = Arg.getParent(); in emitKernelArg() local
697 Node = Func->getMetadata("kernel_arg_name"); in emitKernelArg()
704 Node = Func->getMetadata("kernel_arg_type"); in emitKernelArg()
709 Node = Func->getMetadata("kernel_arg_base_type"); in emitKernelArg()
718 Node = Func->getMetadata("kernel_arg_access_qual"); in emitKernelArg()
724 Node = Func->getMetadata("kernel_arg_type_qual"); in emitKernelArg()
728 const DataLayout &DL = Func->getParent()->getDataLayout(); in emitKernelArg()
797 auto &Func = MF.getFunction(); in emitHiddenKernelArgs() local
800 unsigned HiddenArgNumBytes = ST.getImplicitArgNumBytes(Func); in emitHiddenKernelArgs()
804 const Module *M = Func.getParent(); in emitHiddenKernelArgs()
806 auto Int64Ty = Type::getInt64Ty(Func.getContext()); in emitHiddenKernelArgs()
821 Type::getInt8PtrTy(Func.getContext(), AMDGPUAS::GLOBAL_ADDRESS); in emitHiddenKernelArgs()
830 else if (!Func.hasFnAttribute("amdgpu-no-hostcall-ptr")) in emitHiddenKernelArgs()
840 if (Func.hasFnAttribute("calls-enqueue-kernel")) { in emitHiddenKernelArgs()
853 if (!Func.hasFnAttribute("amdgpu-no-multigrid-sync-arg")) { in emitHiddenKernelArgs()
928 auto &Func = MF.getFunction(); in emitKernel() local
931 assert(Func.getCallingConv() == CallingConv::AMDGPU_KERNEL || in emitKernel()
932 Func.getCallingConv() == CallingConv::SPIR_KERNEL); in emitKernel()
938 Kern[".name"] = Kern.getDocument()->getNode(Func.getName()); in emitKernel()
940 (Twine(Func.getName()) + Twine(".kd")).str(), /*Copy=*/true); in emitKernel()
941 emitKernelLanguage(Func, Kern); in emitKernel()
942 emitKernelAttrs(Func, Kern); in emitKernel()
987 auto &Func = MF.getFunction(); in emitHiddenKernelArgs() local
991 if (ST.getImplicitArgNumBytes(Func) == 0) in emitHiddenKernelArgs()
994 const Module *M = Func.getParent(); in emitHiddenKernelArgs()
998 auto Int64Ty = Type::getInt64Ty(Func.getContext()); in emitHiddenKernelArgs()
999 auto Int32Ty = Type::getInt32Ty(Func.getContext()); in emitHiddenKernelArgs()
1000 auto Int16Ty = Type::getInt16Ty(Func.getContext()); in emitHiddenKernelArgs()
1028 Type::getInt8PtrTy(Func.getContext(), AMDGPUAS::GLOBAL_ADDRESS); in emitHiddenKernelArgs()
1037 if (!Func.hasFnAttribute("amdgpu-no-hostcall-ptr")) { in emitHiddenKernelArgs()
1044 if (!Func.hasFnAttribute("amdgpu-no-multigrid-sync-arg")) { in emitHiddenKernelArgs()
1051 if (!Func.hasFnAttribute("amdgpu-no-heap-ptr")) in emitHiddenKernelArgs()
1056 if (Func.hasFnAttribute("calls-enqueue-kernel")) { in emitHiddenKernelArgs()