Lines Matching refs:Enc
10165 std::string Enc; member in __anon8ad051811b11::FieldEncoding
10167 FieldEncoding(bool b, SmallStringEnc &e) : HasName(b), Enc(e.c_str()) {} in FieldEncoding()
10168 StringRef str() { return Enc; } in str()
10171 return Enc < rhs.Enc; in operator <()
10354 static bool getTypeString(SmallStringEnc &Enc, const Decl *D,
10362 SmallStringEnc Enc; in emitTargetMD() local
10363 if (getTypeString(Enc, D, CGM, TSC)) { in emitTargetMD()
10366 llvm::MDString::get(Ctx, Enc.str())}; in emitTargetMD()
10508 static bool appendType(SmallStringEnc &Enc, QualType QType,
10520 SmallStringEnc Enc; in extractFieldType() local
10521 Enc += "m("; in extractFieldType()
10522 Enc += Field->getName(); in extractFieldType()
10523 Enc += "){"; in extractFieldType()
10525 Enc += "b("; in extractFieldType()
10526 llvm::raw_svector_ostream OS(Enc); in extractFieldType()
10528 Enc += ':'; in extractFieldType()
10530 if (!appendType(Enc, Field->getType(), CGM, TSC)) in extractFieldType()
10533 Enc += ')'; in extractFieldType()
10534 Enc += '}'; in extractFieldType()
10535 FE.emplace_back(!Field->getName().empty(), Enc); in extractFieldType()
10543 static bool appendRecordType(SmallStringEnc &Enc, const RecordType *RT, in appendRecordType() argument
10549 Enc += TypeString; in appendRecordType()
10554 size_t Start = Enc.size(); in appendRecordType()
10555 Enc += (RT->isUnionType()? 'u' : 's'); in appendRecordType()
10556 Enc += '('; in appendRecordType()
10558 Enc += ID->getName(); in appendRecordType()
10559 Enc += "){"; in appendRecordType()
10569 std::string StubEnc(Enc.substr(Start).str()); in appendRecordType()
10585 Enc += ','; in appendRecordType()
10586 Enc += FE[I].str(); in appendRecordType()
10589 Enc += '}'; in appendRecordType()
10590 TSC.addIfComplete(ID, Enc.substr(Start), IsRecursive); in appendRecordType()
10595 static bool appendEnumType(SmallStringEnc &Enc, const EnumType *ET, in appendEnumType() argument
10601 Enc += TypeString; in appendEnumType()
10605 size_t Start = Enc.size(); in appendEnumType()
10606 Enc += "e("; in appendEnumType()
10608 Enc += ID->getName(); in appendEnumType()
10609 Enc += "){"; in appendEnumType()
10628 Enc += ','; in appendEnumType()
10629 Enc += FE[I].str(); in appendEnumType()
10632 Enc += '}'; in appendEnumType()
10633 TSC.addIfComplete(ID, Enc.substr(Start), false); in appendEnumType()
10639 static void appendQualifier(SmallStringEnc &Enc, QualType QT) { in appendQualifier() argument
10649 Enc += Table[Lookup]; in appendQualifier()
10653 static bool appendBuiltinType(SmallStringEnc &Enc, const BuiltinType *BT) { in appendBuiltinType() argument
10707 Enc += EncType; in appendBuiltinType()
10712 static bool appendPointerType(SmallStringEnc &Enc, const PointerType *PT, in appendPointerType() argument
10715 Enc += "p("; in appendPointerType()
10716 if (!appendType(Enc, PT->getPointeeType(), CGM, TSC)) in appendPointerType()
10718 Enc += ')'; in appendPointerType()
10723 static bool appendArrayType(SmallStringEnc &Enc, QualType QT, in appendArrayType() argument
10729 Enc += "a("; in appendArrayType()
10731 CAT->getSize().toStringUnsigned(Enc); in appendArrayType()
10733 Enc += NoSizeEnc; // Global arrays use "*", otherwise it is "". in appendArrayType()
10734 Enc += ':'; in appendArrayType()
10736 appendQualifier(Enc, QT); in appendArrayType()
10737 if (!appendType(Enc, AT->getElementType(), CGM, TSC)) in appendArrayType()
10739 Enc += ')'; in appendArrayType()
10745 static bool appendFunctionType(SmallStringEnc &Enc, const FunctionType *FT, in appendFunctionType() argument
10748 Enc += "f{"; in appendFunctionType()
10749 if (!appendType(Enc, FT->getReturnType(), CGM, TSC)) in appendFunctionType()
10751 Enc += "}("; in appendFunctionType()
10758 if (!appendType(Enc, *I, CGM, TSC)) in appendFunctionType()
10762 Enc += ','; in appendFunctionType()
10765 Enc += ",va"; in appendFunctionType()
10768 Enc += "va"; in appendFunctionType()
10770 Enc += '0'; in appendFunctionType()
10773 Enc += ')'; in appendFunctionType()
10779 static bool appendType(SmallStringEnc &Enc, QualType QType, in appendType() argument
10788 return appendArrayType(Enc, QT, AT, CGM, TSC, ""); in appendType()
10790 appendQualifier(Enc, QT); in appendType()
10793 return appendBuiltinType(Enc, BT); in appendType()
10796 return appendPointerType(Enc, PT, CGM, TSC); in appendType()
10799 return appendEnumType(Enc, ET, TSC, QT.getBaseTypeIdentifier()); in appendType()
10802 return appendRecordType(Enc, RT, CGM, TSC, QT.getBaseTypeIdentifier()); in appendType()
10805 return appendRecordType(Enc, RT, CGM, TSC, QT.getBaseTypeIdentifier()); in appendType()
10808 return appendFunctionType(Enc, FT, CGM, TSC); in appendType()
10813 static bool getTypeString(SmallStringEnc &Enc, const Decl *D, in getTypeString() argument
10822 return appendType(Enc, FD->getType(), CGM, TSC); in getTypeString()
10833 return appendArrayType(Enc, QT, AT, CGM, TSC, "*"); in getTypeString()
10835 return appendType(Enc, QT, CGM, TSC); in getTypeString()