Lines Matching refs:R
22 static std::string getOptionName(const Record &R) { in getOptionName() argument
24 if (isa<UnsetInit>(R.getValueInit("EnumName"))) in getOptionName()
25 return std::string(R.getName()); in getOptionName()
27 return std::string(R.getValueAsString("EnumName")); in getOptionName()
37 static std::string getOptionPrefixedName(const Record &R) { in getOptionPrefixedName() argument
38 std::vector<StringRef> Prefixes = R.getValueAsListOfStrings("Prefixes"); in getOptionPrefixedName()
39 StringRef Name = R.getValueAsString("Name"); in getOptionPrefixedName()
50 const Record &R; member in MarshallingInfo
70 static constexpr const char *ValueTablePreamble = R"(
85 MarshallingInfo(const Record &R) : R(R) {} in MarshallingInfo() argument
142 static MarshallingInfo createMarshallingInfo(const Record &R) { in createMarshallingInfo() argument
143 assert(!isa<UnsetInit>(R.getValueInit("KeyPath")) && in createMarshallingInfo()
144 !isa<UnsetInit>(R.getValueInit("DefaultValue")) && in createMarshallingInfo()
145 !isa<UnsetInit>(R.getValueInit("ValueMerger")) && in createMarshallingInfo()
149 MarshallingInfo Ret(R); in createMarshallingInfo()
151 Ret.ShouldAlwaysEmit = R.getValueAsBit("ShouldAlwaysEmit"); in createMarshallingInfo()
152 Ret.MacroPrefix = R.getValueAsString("MacroPrefix"); in createMarshallingInfo()
153 Ret.KeyPath = R.getValueAsString("KeyPath"); in createMarshallingInfo()
154 Ret.DefaultValue = R.getValueAsString("DefaultValue"); in createMarshallingInfo()
155 Ret.NormalizedValuesScope = R.getValueAsString("NormalizedValuesScope"); in createMarshallingInfo()
156 Ret.ImpliedCheck = R.getValueAsString("ImpliedCheck"); in createMarshallingInfo()
158 R.getValueAsOptionalString("ImpliedValue").value_or(Ret.DefaultValue); in createMarshallingInfo()
160 Ret.ShouldParse = R.getValueAsString("ShouldParse"); in createMarshallingInfo()
161 Ret.Normalizer = R.getValueAsString("Normalizer"); in createMarshallingInfo()
162 Ret.Denormalizer = R.getValueAsString("Denormalizer"); in createMarshallingInfo()
163 Ret.ValueMerger = R.getValueAsString("ValueMerger"); in createMarshallingInfo()
164 Ret.ValueExtractor = R.getValueAsString("ValueExtractor"); in createMarshallingInfo()
166 if (!isa<UnsetInit>(R.getValueInit("NormalizedValues"))) { in createMarshallingInfo()
167 assert(!isa<UnsetInit>(R.getValueInit("Values")) && in createMarshallingInfo()
170 Ret.NormalizedValues = R.getValueAsListOfStrings("NormalizedValues"); in createMarshallingInfo()
172 Ret.ValueTableName = getOptionName(R) + "ValueTable"; in createMarshallingInfo()
174 StringRef ValuesStr = R.getValueAsString("Values"); in createMarshallingInfo()
212 for (const Record &R : llvm::make_pointee_range(Opts)) { in EmitOptParser() local
213 std::vector<StringRef> RPrefixes = R.getValueAsListOfStrings("Prefixes"); in EmitOptParser()
266 for (const Record &R : llvm::make_pointee_range(Opts)) { in EmitOptParser() local
268 if (!isa<UnsetInit>(R.getValueInit("ValuesCode"))) { in EmitOptParser()
269 assert(isa<UnsetInit>(R.getValueInit("Values")) && in EmitOptParser()
271 OS << "#define VALUES_CODE " << getOptionName(R) << "_Values\n"; in EmitOptParser()
272 OS << R.getValueAsString("ValuesCode") << "\n"; in EmitOptParser()
281 for (const Record &R : llvm::make_pointee_range(Groups)) { in EmitOptParser() local
289 OS << ", \"" << R.getValueAsString("Name") << '"'; in EmitOptParser()
292 OS << ", " << getOptionName(R); in EmitOptParser()
299 if (const DefInit *DI = dyn_cast<DefInit>(R.getValueInit("Group"))) in EmitOptParser()
308 if (!isa<UnsetInit>(R.getValueInit("HelpText"))) { in EmitOptParser()
311 write_cstring(OS, R.getValueAsString("HelpText")); in EmitOptParser()
326 auto WriteOptRecordFields = [&](raw_ostream &OS, const Record &R) { in EmitOptParser() argument
328 std::vector<StringRef> RPrefixes = R.getValueAsListOfStrings("Prefixes"); in EmitOptParser()
332 write_cstring(OS, getOptionPrefixedName(R)); in EmitOptParser()
335 OS << ", " << getOptionName(R); in EmitOptParser()
338 OS << ", " << R.getValueAsDef("Kind")->getValueAsString("Name"); in EmitOptParser()
344 if (const DefInit *DI = dyn_cast<DefInit>(R.getValueInit("Group"))) { in EmitOptParser()
353 if (const DefInit *DI = dyn_cast<DefInit>(R.getValueInit("Alias"))) in EmitOptParser()
363 std::vector<StringRef> AliasArgs = R.getValueAsListOfStrings("AliasArgs"); in EmitOptParser()
376 const ListInit *LI = R.getValueAsListInit("Flags"); in EmitOptParser()
390 LI = R.getValueAsListInit("Visibility"); in EmitOptParser()
403 OS << ", " << R.getValueAsInt("NumArgs"); in EmitOptParser()
406 if (!isa<UnsetInit>(R.getValueInit("HelpText"))) { in EmitOptParser()
409 write_cstring(OS, R.getValueAsString("HelpText")); in EmitOptParser()
415 if (!isa<UnsetInit>(R.getValueInit("MetaVarName"))) in EmitOptParser()
416 write_cstring(OS, R.getValueAsString("MetaVarName")); in EmitOptParser()
422 if (!isa<UnsetInit>(R.getValueInit("Values"))) in EmitOptParser()
423 write_cstring(OS, R.getValueAsString("Values")); in EmitOptParser()
424 else if (!isa<UnsetInit>(R.getValueInit("ValuesCode"))) { in EmitOptParser()
425 OS << getOptionName(R) << "_Values"; in EmitOptParser()
431 auto IsMarshallingOption = [](const Record &R) { in EmitOptParser() argument
432 return !isa<UnsetInit>(R.getValueInit("KeyPath")) && in EmitOptParser()
433 !R.getValueAsString("KeyPath").empty(); in EmitOptParser()
437 for (const Record &R : llvm::make_pointee_range(Opts)) { in EmitOptParser() local
440 WriteOptRecordFields(OS, R); in EmitOptParser()
442 if (IsMarshallingOption(R)) in EmitOptParser()
443 OptsWithMarshalling.push_back(&R); in EmitOptParser()
466 for (const auto *R : OptsWithMarshalling) in EmitOptParser() local
467 MarshallingInfos.push_back(createMarshallingInfo(*R)); in EmitOptParser()
472 WriteOptRecordFields(OS, MI.R); in EmitOptParser()