Lines Matching refs:AMDGPULibFunc

88   using ID = AMDGPULibFunc::EFuncId;
95 static_cast<unsigned>(AMDGPULibFunc::EI_LAST_MANGLED) && in toIndex()
98 static_cast<unsigned>(AMDGPULibFunc::EI_LAST_MANGLED); in toIndex()
104 Index + 1 + static_cast<unsigned>(AMDGPULibFunc::EI_LAST_MANGLED)); in toFuncId()
352 static AMDGPULibFunc::Param getRetType(AMDGPULibFunc::EFuncId id, in getRetType()
353 const AMDGPULibFunc::Param (&Leads)[2]) { in getRetType()
354 AMDGPULibFunc::Param Res = Leads[0]; in getRetType()
357 case AMDGPULibFunc::EI_SINCOS: in getRetType()
358 Res.PtrKind = AMDGPULibFunc::BYVALUE; in getRetType()
367 const AMDGPULibFunc::Param (&Leads)[2];
371 ParamIterator(const AMDGPULibFunc::Param (&leads)[2], in ParamIterator()
375 AMDGPULibFunc::Param getNextParam();
378 AMDGPULibFunc::Param ParamIterator::getNextParam() { in getNextParam()
379 AMDGPULibFunc::Param P; in getNextParam()
386 P.ArgType = AMDGPULibFunc::U32; break; in getNextParam()
388 P.ArgType = AMDGPULibFunc::I32; P.VectorSize = 4; break; in getNextParam()
390 P.ArgType = AMDGPULibFunc::U32; P.VectorSize = 4; break; in getNextParam()
392 P.ArgType = AMDGPULibFunc::F32; P.VectorSize = 4; break; in getNextParam()
394 P.ArgType = AMDGPULibFunc::U64; break; in getNextParam()
396 P.ArgType = AMDGPULibFunc::EVENT; break; in getNextParam()
398 P.ArgType = AMDGPULibFunc::SAMPLER; break; in getNextParam()
409 P.PtrKind = AMDGPULibFunc::BYVALUE; break; in getNextParam()
411 P.VectorSize = 2; P.PtrKind = AMDGPULibFunc::BYVALUE; break; in getNextParam()
413 P.VectorSize = 3; P.PtrKind = AMDGPULibFunc::BYVALUE; break; in getNextParam()
415 P.VectorSize = 4; P.PtrKind = AMDGPULibFunc::BYVALUE; break; in getNextParam()
417 P.VectorSize = 8; P.PtrKind = AMDGPULibFunc::BYVALUE; break; in getNextParam()
419 P.VectorSize = 16; P.PtrKind = AMDGPULibFunc::BYVALUE; break; in getNextParam()
421 P.PtrKind |= AMDGPULibFunc::CONST; break; in getNextParam()
423 P.PtrKind |= AMDGPULibFunc::VOLATILE; break; in getNextParam()
425 P.ArgType = AMDGPULibFunc::I32; break; in getNextParam()
427 P.ArgType = AMDGPULibFunc::U32; break; in getNextParam()
430 P.ArgType &= ~AMDGPULibFunc::BASE_TYPE_MASK; in getNextParam()
431 P.ArgType |= AMDGPULibFunc::UINT; in getNextParam()
436 case AMDGPULibFunc::IMG1DA: P.VectorSize = 2; break; in getNextParam()
437 case AMDGPULibFunc::IMG1DB: P.VectorSize = 1; break; in getNextParam()
438 case AMDGPULibFunc::IMG2DA: P.VectorSize = 4; break; in getNextParam()
439 case AMDGPULibFunc::IMG1D: P.VectorSize = 1; break; in getNextParam()
440 case AMDGPULibFunc::IMG2D: P.VectorSize = 2; break; in getNextParam()
441 case AMDGPULibFunc::IMG3D: P.VectorSize = 4; break; in getNextParam()
443 P.PtrKind = AMDGPULibFunc::BYVALUE; in getNextParam()
444 P.ArgType = AMDGPULibFunc::I32; in getNextParam()
448 unsigned AS = AMDGPULibFunc::getAddrSpaceFromEPtrKind(P.PtrKind); in getNextParam()
453 P.PtrKind = AMDGPULibFunc::getEPtrKindFromAddrSpace(AS); in getNextParam()
454 P.PtrKind |= AMDGPULibFunc::CONST; in getNextParam()
542 static AMDGPULibFunc::ENamePrefix parseNamePrefix(StringRef& mangledName) { in parseNamePrefix()
544 AMDGPULibFunc::ENamePrefix Pfx = in parseNamePrefix()
545 StringSwitch<AMDGPULibFunc::ENamePrefix>(P.first) in parseNamePrefix()
546 .Case("native", AMDGPULibFunc::NATIVE) in parseNamePrefix()
547 .Case("half" , AMDGPULibFunc::HALF) in parseNamePrefix()
548 .Default(AMDGPULibFunc::NOPFX); in parseNamePrefix()
550 if (Pfx != AMDGPULibFunc::NOPFX) in parseNamePrefix()
576 AMDGPULibFunc::Param Prev;
577 bool parseItaniumParam(StringRef& param, AMDGPULibFunc::Param &res);
582 AMDGPULibFunc::Param &res) { in parseItaniumParam()
588 if (eatTerm(param, 'K')) res.PtrKind |= AMDGPULibFunc::CONST; in parseItaniumParam()
589 if (eatTerm(param, 'V')) res.PtrKind |= AMDGPULibFunc::VOLATILE; in parseItaniumParam()
599 res.PtrKind = AMDGPULibFunc::BYVALUE; in parseItaniumParam()
611 res.ArgType = StringSwitch<AMDGPULibFunc::EType> in parseItaniumParam()
613 .Case("ocl_image1darray" , AMDGPULibFunc::IMG1DA) in parseItaniumParam()
614 .Case("ocl_image1dbuffer", AMDGPULibFunc::IMG1DB) in parseItaniumParam()
615 .Case("ocl_image2darray" , AMDGPULibFunc::IMG2DA) in parseItaniumParam()
616 .Case("ocl_image1d" , AMDGPULibFunc::IMG1D) in parseItaniumParam()
617 .Case("ocl_image2d" , AMDGPULibFunc::IMG2D) in parseItaniumParam()
618 .Case("ocl_image3d" , AMDGPULibFunc::IMG3D) in parseItaniumParam()
619 .Case("ocl_event" , AMDGPULibFunc::DUMMY) in parseItaniumParam()
620 .Case("ocl_sampler" , AMDGPULibFunc::DUMMY) in parseItaniumParam()
621 .Default(AMDGPULibFunc::DUMMY); in parseItaniumParam()
625 case 'h': res.ArgType = AMDGPULibFunc::U8; break; in parseItaniumParam()
626 case 't': res.ArgType = AMDGPULibFunc::U16; break; in parseItaniumParam()
627 case 'j': res.ArgType = AMDGPULibFunc::U32; break; in parseItaniumParam()
628 case 'm': res.ArgType = AMDGPULibFunc::U64; break; in parseItaniumParam()
629 case 'c': res.ArgType = AMDGPULibFunc::I8; break; in parseItaniumParam()
630 case 's': res.ArgType = AMDGPULibFunc::I16; break; in parseItaniumParam()
631 case 'i': res.ArgType = AMDGPULibFunc::I32; break; in parseItaniumParam()
632 case 'l': res.ArgType = AMDGPULibFunc::I64; break; in parseItaniumParam()
633 case 'f': res.ArgType = AMDGPULibFunc::F32; break; in parseItaniumParam()
634 case 'd': res.ArgType = AMDGPULibFunc::F64; break; in parseItaniumParam()
636 res.ArgType = AMDGPULibFunc::F16; break; in parseItaniumParam()
680 bool AMDGPULibFunc::parse(StringRef FuncName, AMDGPULibFunc &F) { in parse()
729 static const char *getItaniumTypeName(AMDGPULibFunc::EType T) { in getItaniumTypeName()
731 case AMDGPULibFunc::U8: return "h"; in getItaniumTypeName()
732 case AMDGPULibFunc::U16: return "t"; in getItaniumTypeName()
733 case AMDGPULibFunc::U32: return "j"; in getItaniumTypeName()
734 case AMDGPULibFunc::U64: return "m"; in getItaniumTypeName()
735 case AMDGPULibFunc::I8: return "c"; in getItaniumTypeName()
736 case AMDGPULibFunc::I16: return "s"; in getItaniumTypeName()
737 case AMDGPULibFunc::I32: return "i"; in getItaniumTypeName()
738 case AMDGPULibFunc::I64: return "l"; in getItaniumTypeName()
739 case AMDGPULibFunc::F16: return "Dh"; in getItaniumTypeName()
740 case AMDGPULibFunc::F32: return "f"; in getItaniumTypeName()
741 case AMDGPULibFunc::F64: return "d"; in getItaniumTypeName()
742 case AMDGPULibFunc::IMG1DA: return "16ocl_image1darray"; in getItaniumTypeName()
743 case AMDGPULibFunc::IMG1DB: return "17ocl_image1dbuffer"; in getItaniumTypeName()
744 case AMDGPULibFunc::IMG2DA: return "16ocl_image2darray"; in getItaniumTypeName()
745 case AMDGPULibFunc::IMG1D: return "11ocl_image1d"; in getItaniumTypeName()
746 case AMDGPULibFunc::IMG2D: return "11ocl_image2d"; in getItaniumTypeName()
747 case AMDGPULibFunc::IMG3D: return "11ocl_image3d"; in getItaniumTypeName()
748 case AMDGPULibFunc::SAMPLER: return "11ocl_sampler"; in getItaniumTypeName()
749 case AMDGPULibFunc::EVENT: return "9ocl_event"; in getItaniumTypeName()
781 SmallVector<AMDGPULibFunc::Param, 10> Str; // list of accumulated substituions
784 int findSubst(const AMDGPULibFunc::Param& P) const { in findSubst()
786 const AMDGPULibFunc::Param& T = Str[I]; in findSubst()
797 bool trySubst(Stream& os, const AMDGPULibFunc::Param& p) { in trySubst()
813 void operator()(Stream& os, AMDGPULibFunc::Param p) { in operator ()()
825 AMDGPULibFunc::Param Ptr; in operator ()()
830 if (p.PtrKind & AMDGPULibFunc::CONST) os << 'K'; in operator ()()
831 if (p.PtrKind & AMDGPULibFunc::VOLATILE) os << 'V'; in operator ()()
847 os << getItaniumTypeName((AMDGPULibFunc::EType)p.ArgType); in operator ()()
877 const AMDGPULibFunc::Param& P, in getIntrinsicParamType()
881 case AMDGPULibFunc::U8: in getIntrinsicParamType()
882 case AMDGPULibFunc::I8: T = Type::getInt8Ty(C); break; in getIntrinsicParamType()
883 case AMDGPULibFunc::U16: in getIntrinsicParamType()
884 case AMDGPULibFunc::I16: T = Type::getInt16Ty(C); break; in getIntrinsicParamType()
885 case AMDGPULibFunc::U32: in getIntrinsicParamType()
886 case AMDGPULibFunc::I32: T = Type::getInt32Ty(C); break; in getIntrinsicParamType()
887 case AMDGPULibFunc::U64: in getIntrinsicParamType()
888 case AMDGPULibFunc::I64: T = Type::getInt64Ty(C); break; in getIntrinsicParamType()
889 case AMDGPULibFunc::F16: T = Type::getHalfTy(C); break; in getIntrinsicParamType()
890 case AMDGPULibFunc::F32: T = Type::getFloatTy(C); break; in getIntrinsicParamType()
891 case AMDGPULibFunc::F64: T = Type::getDoubleTy(C); break; in getIntrinsicParamType()
893 case AMDGPULibFunc::IMG1DA: in getIntrinsicParamType()
894 case AMDGPULibFunc::IMG1DB: in getIntrinsicParamType()
895 case AMDGPULibFunc::IMG2DA: in getIntrinsicParamType()
896 case AMDGPULibFunc::IMG1D: in getIntrinsicParamType()
897 case AMDGPULibFunc::IMG2D: in getIntrinsicParamType()
898 case AMDGPULibFunc::IMG3D: in getIntrinsicParamType()
900 case AMDGPULibFunc::SAMPLER: in getIntrinsicParamType()
902 case AMDGPULibFunc::EVENT: in getIntrinsicParamType()
910 if (P.PtrKind != AMDGPULibFunc::BYVALUE) in getIntrinsicParamType()
911 T = useAddrSpace ? T->getPointerTo((P.PtrKind & AMDGPULibFunc::ADDR_SPACE) in getIntrinsicParamType()
945 Function *AMDGPULibFunc::getFunction(Module *M, const AMDGPULibFunc &fInfo) { in getFunction()
959 FunctionCallee AMDGPULibFunc::getOrInsertFunction(Module *M, in getOrInsertFunction()
960 const AMDGPULibFunc &fInfo) { in getOrInsertFunction()
1017 Id = AMDGPULibFunc::EI_NONE; in lookup()
1021 AMDGPULibFunc::AMDGPULibFunc(const AMDGPULibFunc &F) { in AMDGPULibFunc() function in AMDGPULibFunc
1030 AMDGPULibFunc &AMDGPULibFunc::operator=(const AMDGPULibFunc &F) { in operator =()
1033 new (this) AMDGPULibFunc(F); in operator =()
1037 AMDGPULibFunc::AMDGPULibFunc(EFuncId Id, const AMDGPULibFunc &CopyFrom) { in AMDGPULibFunc() function in AMDGPULibFunc
1044 AMDGPULibFunc::AMDGPULibFunc(StringRef Name, FunctionType *FT) { in AMDGPULibFunc() function in AMDGPULibFunc
1048 void AMDGPULibFunc::initMangled() { Impl.reset(new AMDGPUMangledLibFunc()); } in initMangled()
1050 AMDGPULibFunc::Param *AMDGPULibFunc::getLeads() { in getLeads()
1056 const AMDGPULibFunc::Param *AMDGPULibFunc::getLeads() const { in getLeads()