Lines Matching refs:Arg
318 for (auto &Arg : Func.args()) in emitKernelArgs() local
319 emitKernelArg(Arg); in emitKernelArgs()
324 void MetadataStreamerV2::emitKernelArg(const Argument &Arg) { in emitKernelArg() argument
325 auto Func = Arg.getParent(); in emitKernelArg()
326 auto ArgNo = Arg.getArgNo(); in emitKernelArg()
333 else if (Arg.hasName()) in emitKernelArg()
334 Name = Arg.getName(); in emitKernelArg()
347 if (Arg.getType()->isPointerTy() && Arg.onlyReadsMemory() && in emitKernelArg()
348 Arg.hasNoAliasAttr()) { in emitKernelArg()
361 Type *Ty = Arg.getType(); in emitKernelArg()
367 PointeeAlign = Arg.getParamAlignment(); in emitKernelArg()
373 emitKernelArg(DL, Ty, getValueKind(Arg.getType(), TypeQual, BaseTypeName), in emitKernelArg()
383 HSAMetadata.mKernels.back().mArgs.push_back(Kernel::Arg::Metadata()); in emitKernelArg()
384 auto &Arg = HSAMetadata.mKernels.back().mArgs.back(); in emitKernelArg() local
386 Arg.mName = Name; in emitKernelArg()
387 Arg.mTypeName = TypeName; in emitKernelArg()
388 Arg.mSize = DL.getTypeAllocSize(Ty); in emitKernelArg()
389 Arg.mAlign = DL.getABITypeAlignment(Ty); in emitKernelArg()
390 Arg.mValueKind = ValueKind; in emitKernelArg()
391 Arg.mValueType = getValueType(Ty, BaseTypeName); in emitKernelArg()
392 Arg.mPointeeAlign = PointeeAlign; in emitKernelArg()
395 Arg.mAddrSpaceQual = getAddressSpaceQualifier(PtrTy->getAddressSpace()); in emitKernelArg()
397 Arg.mAccQual = getAccessQualifier(AccQual); in emitKernelArg()
405 .Case("const", &Arg.mIsConst) in emitKernelArg()
406 .Case("restrict", &Arg.mIsRestrict) in emitKernelArg()
407 .Case("volatile", &Arg.mIsVolatile) in emitKernelArg()
408 .Case("pipe", &Arg.mIsPipe) in emitKernelArg()
729 for (auto &Arg : Func.args()) in emitKernelArgs() local
730 emitKernelArg(Arg, Offset, *Args); in emitKernelArgs()
767 void MetadataStreamerV3::emitKernelArg(const Argument &Arg, unsigned &Offset, in emitKernelArg() argument
769 auto Func = Arg.getParent(); in emitKernelArg()
770 auto ArgNo = Arg.getArgNo(); in emitKernelArg()
777 else if (Arg.hasName()) in emitKernelArg()
778 Name = Arg.getName(); in emitKernelArg()
791 if (Arg.getType()->isPointerTy() && Arg.onlyReadsMemory() && in emitKernelArg()
792 Arg.hasNoAliasAttr()) { in emitKernelArg()
805 Type *Ty = Arg.getType(); in emitKernelArg()
811 PointeeAlign = Arg.getParamAlignment(); in emitKernelArg()
817 emitKernelArg(Func->getParent()->getDataLayout(), Arg.getType(), in emitKernelArg()
818 getValueKind(Arg.getType(), TypeQual, BaseTypeName), Offset, in emitKernelArg()
831 auto &Arg = *ArgPtr; in emitKernelArg() local
834 Arg[".name"] = std::make_shared<msgpack::ScalarNode>(Name); in emitKernelArg()
836 Arg[".type_name"] = std::make_shared<msgpack::ScalarNode>(TypeName); in emitKernelArg()
839 Arg[".size"] = std::make_shared<msgpack::ScalarNode>(Size); in emitKernelArg()
841 Arg[".offset"] = std::make_shared<msgpack::ScalarNode>(Offset); in emitKernelArg()
843 Arg[".value_kind"] = std::make_shared<msgpack::ScalarNode>(ValueKind); in emitKernelArg()
844 Arg[".value_type"] = in emitKernelArg()
847 Arg[".pointee_align"] = std::make_shared<msgpack::ScalarNode>(PointeeAlign); in emitKernelArg()
851 Arg[".address_space"] = std::make_shared<msgpack::ScalarNode>(*Qualifier); in emitKernelArg()
854 Arg[".access"] = std::make_shared<msgpack::ScalarNode>(*AQ); in emitKernelArg()
862 Arg[".is_const"] = std::make_shared<msgpack::ScalarNode>(true); in emitKernelArg()
864 Arg[".is_restrict"] = std::make_shared<msgpack::ScalarNode>(true); in emitKernelArg()
866 Arg[".is_volatile"] = std::make_shared<msgpack::ScalarNode>(true); in emitKernelArg()
868 Arg[".is_pipe"] = std::make_shared<msgpack::ScalarNode>(true); in emitKernelArg()