Home | History | Annotate | Download | only in SPIRV

Lines Matching refs:DemangledName

99       const std::string &DeMangledName);
104 const std::string &DemangledName);
112 const std::string &DemangledName);
151 const std::string &DemangledName);
162 const std::string &DemangledName);
167 const std::string &DemangledName);
173 const std::string &DemangledName);
180 const std::string &DemangledName);
191 const std::string &DemangledName);
197 void visitCallNDRange(CallInst *CI, const std::string &DemangledName);
201 const std::string &DemangledName);
208 const std::string &DemangledName);
213 const std::string &DemangledName);
217 const std::string &DemangledName);
228 const std::string &DemangledName);
232 void visitCallRelational(CallInst *CI, const std::string &DemangledName);
239 const std::string &DemangledName);
246 void visitCallGetFence(CallInst *CI, StringRef MangledName, const std::string& DemangledName);
255 const std::string &DemangledName);
260 const std::string &DemangledName,
282 SPIRVWord getVecLoadWidth(const std::string& DemangledName) {
284 if (DemangledName == "vloada_half")
288 if (DemangledName.find("vload_half") == 0)
290 else if (DemangledName.find("vloada_half") == 0)
293 std::stringstream SS(DemangledName.substr(Loc));
300 void transVecLoadStoreName(std::string& DemangledName,
304 if (!AlwaysN && DemangledName == HalfStem)
306 if (!AlwaysN && DemangledName.find(HalfStemR) == 0) {
307 DemangledName = HalfStemR;
310 if (DemangledName.find(HalfStem) == 0) {
311 auto OldName = DemangledName;
312 DemangledName = HalfStem + "n";
314 DemangledName += "_r";
317 if (DemangledName.find(Stem) == 0) {
318 DemangledName = Stem + "n";
373 std::string DemangledName;
374 if (!oclIsBuiltin(MangledName, &DemangledName))
377 DEBUG(dbgs() << "DemangledName: " << DemangledName << '\n');
378 if (DemangledName.find(kOCLBuiltinName::NDRangePrefix) == 0) {
379 visitCallNDRange(&CI, DemangledName);
382 if (DemangledName == kOCLBuiltinName::All) {
386 if (DemangledName == kOCLBuiltinName::Any) {
390 if (DemangledName.find(kOCLBuiltinName::AsyncWorkGroupCopy) == 0 ||
391 DemangledName.find(kOCLBuiltinName::AsyncWorkGroupStridedCopy) == 0) {
392 visitCallAsyncWorkGroupCopy(&CI, DemangledName);
395 if (DemangledName.find(kOCLBuiltinName::AtomicPrefix) == 0 ||
396 DemangledName.find(kOCLBuiltinName::AtomPrefix) == 0) {
398 if (DemangledName == kOCLBuiltinName::AtomicInit) {
402 if (DemangledName == kOCLBuiltinName::AtomicWorkItemFence) {
406 if (DemangledName == kOCLBuiltinName::AtomicCmpXchgWeak ||
407 DemangledName == kOCLBuiltinName::AtomicCmpXchgStrong ||
408 DemangledName == kOCLBuiltinName::AtomicCmpXchgWeakExplicit ||
409 DemangledName == kOCLBuiltinName::AtomicCmpXchgStrongExplicit) {
411 PCI = visitCallAtomicCmpXchg(PCI, DemangledName);
413 visitCallAtomicLegacy(PCI, MangledName, DemangledName);
414 visitCallAtomicCpp11(PCI, MangledName, DemangledName);
417 if (DemangledName.find(kOCLBuiltinName::ConvertPrefix) == 0) {
418 visitCallConvert(&CI, MangledName, DemangledName);
421 if (DemangledName == kOCLBuiltinName::GetImageWidth ||
422 DemangledName == kOCLBuiltinName::GetImageHeight ||
423 DemangledName == kOCLBuiltinName::GetImageDepth ||
424 DemangledName == kOCLBuiltinName::GetImageDim ||
425 DemangledName == kOCLBuiltinName::GetImageArraySize) {
426 visitCallGetImageSize(&CI, MangledName, DemangledName);
429 if ((DemangledName.find(kOCLBuiltinName::WorkGroupPrefix) == 0 &&
430 DemangledName != kOCLBuiltinName::WorkGroupBarrier) ||
431 DemangledName == kOCLBuiltinName::WaitGroupEvent ||
432 (DemangledName
433 DemangledName != kOCLBuiltinName::SubGroupBarrier)) {
434 visitCallGroupBuiltin(&CI, MangledName, DemangledName);
437 if (DemangledName.find(kOCLBuiltinName::Pipe) != std::string::npos) {
438 visitCallPipeBuiltin(&CI, MangledName, DemangledName);
441 if (DemangledName == kOCLBuiltinName::MemFence) {
445 if (DemangledName.find(kOCLBuiltinName::ReadImage) == 0) {
447 visitCallReadImageWithSampler(&CI, MangledName, DemangledName);
451 visitCallReadImageMSAA(&CI, MangledName, DemangledName);
455 if (DemangledName.find(kOCLBuiltinName::ReadImage) == 0 ||
456 DemangledName.find(kOCLBuiltinName::WriteImage) == 0) {
457 visitCallReadWriteImage(&CI, MangledName, DemangledName);
460 if (DemangledName == kOCLBuiltinName::ToGlobal ||
461 DemangledName == kOCLBuiltinName::ToLocal ||
462 DemangledName == kOCLBuiltinName::ToPrivate) {
463 visitCallToAddr(&CI, MangledName, DemangledName);
466 if (DemangledName.find(kOCLBuiltinName::VLoadPrefix) == 0 ||
467 DemangledName.find(kOCLBuiltinName::VStorePrefix) == 0) {
468 visitCallVecLoadStore(&CI, MangledName, DemangledName);
471 if (DemangledName == kOCLBuiltinName::IsFinite ||
472 DemangledName == kOCLBuiltinName::IsInf ||
473 DemangledName == kOCLBuiltinName::IsNan ||
474 DemangledName == kOCLBuiltinName::IsNormal ||
475 DemangledName == kOCLBuiltinName::Signbit) {
476 visitCallRelational(&CI, DemangledName);
479 if (DemangledName == kOCLBuiltinName::WorkGroupBarrier ||
480 DemangledName == kOCLBuiltinName::Barrier) {
484 if (DemangledName == kOCLBuiltinName::GetFence) {
485 visitCallGetFence(&CI, MangledName, DemangledName);
488 if (DemangledName == kOCLBuiltinName::Dot &&
493 if (DemangledName == kOCLBuiltinName::FMin ||
494 DemangledName == kOCLBuiltinName::FMax ||
495 DemangledName == kOCLBuiltinName::Min ||
496 DemangledName == kOCLBuiltinName::Max ||
497 DemangledName == kOCLBuiltinName::Step ||
498 DemangledName == kOCLBuiltinName::SmoothStep ||
499 DemangledName == kOCLBuiltinName::Clamp ||
500 DemangledName == kOCLBuiltinName::Mix) {
501 visitCallScalToVec(&CI, MangledName, DemangledName);
504 if (DemangledName == kOCLBuiltinName::GetImageChannelDataType) {
505 visitCallGetImageChannel(&CI, MangledName, DemangledName,
509 if (DemangledName == kOCLBuiltinName::GetImageChannelOrder) {
510 visitCallGetImageChannel(&CI, MangledName, DemangledName,
514 visitCallBuiltinSimple(&CI, MangledName, DemangledName);
519 const std::string &DemangledName) {
520 assert(DemangledName.find(kOCLBuiltinName::NDRangePrefix) == 0);
521 std::string lenStr = DemangledName.substr(8, 1);
567 const std::string &DemangledName) {
570 if (DemangledName == OCLUtil::kOCLBuiltinName::AsyncWorkGroupCopy) {
580 const std::string& DemangledName) {
675 StringRef MangledName, const std::string& DemangledName) {
676 StringRef Stem = DemangledName;
731 StringRef MangledName, const std::string& DemangledName) {
732 StringRef Stem = DemangledName;
828 StringRef MangledName, const std::string& DemangledName) {
829 if (eraseUselessConvert(CI, MangledName, DemangledName))
840 std::string TargetTyName = DemangledName.substr(
847 std::string Sat = DemangledName.find("_sat") != std::string::npos ?
849 auto TargetSigned = DemangledName[8] != 'u';
866 auto Loc = DemangledName.find("_rt");
870 Rounding = DemangledName.substr(Loc, 4);
882 std::string DemangledName = OrigDemangledName;
884 if (DemangledName == kOCLBuiltinName::WorkGroupBarrier)
886 if (DemangledName == kOCLBuiltinName::WaitGroupEvent) {
888 } else if (DemangledName.find(kOCLBuiltinName::WorkGroupPrefix) == 0) {
889 DemangledName.erase(0, strlen(kOCLBuiltinName::WorkPrefix));
891 } else if (DemangledName.find(kOCLBuiltinName::SubGroupPrefix) == 0) {
892 DemangledName.erase(0, strlen(kOCLBuiltinName::SubPrefix));
897 if (DemangledName != kOCLBuiltinName::WaitGroupEvent) {
898 StringRef GroupOp = DemangledName;
924 DemangledName = std::string(kSPIRVName::GroupPrefix) + OpTyC + Op.str();
929 bool IsGroupAllAny = (DemangledName.find("_all") != std::string::npos ||
930 DemangledName.find("_any") != std::string::npos);
936 Info.UniqName = DemangledName;
944 if (DemangledName == "group_broadcast" && E > 2) {
995 StringRef MangledName, const std::string& DemangledName) {
996 std::string NewName = DemangledName;
999 if ((DemangledName.find(kOCLBuiltinName::ReadPipe) == 0 ||
1000 DemangledName.find(kOCLBuiltinName::WritePipe) == 0)
1002 NewName = std::string(kSPIRVName::ReservedPrefix) + DemangledName;
1009 const std::string &DemangledName) {
1024 CallInst *CI, StringRef MangledName, const std::string &DemangledName) {
1079 StringRef MangledName, const std::string& DemangledName) {
1109 if (DemangledName == kOCLBuiltinName::GetImageDim) {
1126 unsigned I = StringSwitch<unsigned>(DemangledName)
1141 const std::string &DemangledName) {
1150 DemangledName.find("_sat") != std::string::npos &&
1151 isLastFuncParamSigned(MangledName) != (DemangledName[8] != 'u'))
1166 StringRef MangledName, const std::string& DemangledName) {
1169 Info.UniqName = DemangledName;
1180 std::string DemangledName;
1181 if (!oclIsBuiltin(I->getName(), &DemangledName))
1183 DEBUG(dbgs() << "Function demangled name: " << DemangledName << '\n');
1186 if (!SPIRSPIRVBuiltinVariableMap::find(DemangledName, &BVKind))
1231 StringRef MangledName, const std::string& DemangledName) {
1233 if (DemangledName.find(kOCLBuiltinName::ReadImage) == 0)
1236 if (DemangledName.find(kOCLBuiltinName::WriteImage) == 0)
1255 const std::string &DemangledName) {
1259 Info.UniqName = DemangledName;
1274 const std::string &DemangledName) {
1277 OCLSPIRVBuiltinMap::find(DemangledName, &OC);
1318 std::string DemangledName = OrigDemangledName;
1319 if (DemangledName.find(kOCLBuiltinName::VLoadPrefix) == 0 &&
1320 DemangledName != kOCLBuiltinName::VLoadHalf) {
1321 SPIRVWord Width = getVecLoadWidth(DemangledName);
1322 SPIRVDBG(spvdbgs() << "[visitCallVecLoadStore] DemangledName: " <<
1323 DemangledName << " Width: " << Width << '\n');
1325 } else if (DemangledName.find(kOCLBuiltinName::RoundingPrefix)
1327 auto R = SPIRSPIRVFPRoundingModeMap::map(DemangledName.substr(
1328 DemangledName.find(kOCLBuiltinName::RoundingPrefix) + 1, 3));
1332 if (DemangledName.find(kOCLBuiltinName::VLoadAPrefix) == 0)
1333 transVecLoadStoreName(DemangledName, kOCLBuiltinName::VLoadAPrefix, true);
1335 transVecLoadStoreName(DemangledName
1337 if (DemangledName.find(kOCLBuiltinName::VStoreAPrefix) == 0)
1338 transVecLoadStoreName(DemangledName, kOCLBuiltinName::VStoreAPrefix, true);
1340 transVecLoadStoreName(DemangledName, kOCLBuiltinName::VStorePrefix, false);
1346 Info.UniqName = DemangledName;
1347 if (DemangledName.find(kOCLBuiltinName::VLoadPrefix) == 0)
1357 const std::string &DemangledName) {
1360 OCLSPIRVBuiltinMap::find(DemangledName, &OC);
1379 const std::string &DemangledName) {
1387 visitCallBuiltinSimple(CI, MangledName, DemangledName);
1393 if (DemangledName == kOCLBuiltinName::FMin ||
1394 DemangledName == kOCLBuiltinName::FMax ||
1395 DemangledName == kOCLBuiltinName::Min ||
1396 DemangledName == kOCLBuiltinName::Max) {
1399 } else if (DemangledName == kOCLBuiltinName::Clamp) {
1403 } else if (DemangledName == kOCLBuiltinName::Mix) {
1407 } else if (DemangledName == kOCLBuiltinName::Step) {
1410 } else if (DemangledName == kOCLBuiltinName::SmoothStep) {
1437 getExtOp(MangledName, DemangledName));
1443 const std::string &DemangledName,
1447 OCLSPIRVBuiltinMap::find(DemangledName, &OC);