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()
268 for (const Record &R : llvm::make_pointee_range(Opts)) { in EmitOptParser() local
269 std::vector<StringRef> RPrefixes = R.getValueAsListOfStrings("Prefixes"); in EmitOptParser()
322 for (const Record &R : llvm::make_pointee_range(Opts)) { in EmitOptParser() local
324 if (!isa<UnsetInit>(R.getValueInit("ValuesCode"))) { in EmitOptParser()
325 assert(isa<UnsetInit>(R.getValueInit("Values")) && in EmitOptParser()
327 OS << "#define VALUES_CODE " << getOptionName(R) << "_Values\n"; in EmitOptParser()
328 OS << R.getValueAsString("ValuesCode") << "\n"; in EmitOptParser()
337 for (const Record &R : llvm::make_pointee_range(Groups)) { in EmitOptParser() local
345 OS << ", \"" << R.getValueAsString("Name") << '"'; in EmitOptParser()
348 OS << ", " << getOptionName(R); in EmitOptParser()
355 if (const DefInit *DI = dyn_cast<DefInit>(R.getValueInit("Group"))) in EmitOptParser()
364 if (!isa<UnsetInit>(R.getValueInit("HelpText"))) { in EmitOptParser()
367 write_cstring(OS, R.getValueAsString("HelpText")); in EmitOptParser()
385 auto WriteOptRecordFields = [&](raw_ostream &OS, const Record &R) { in EmitOptParser() argument
387 std::vector<StringRef> RPrefixes = R.getValueAsListOfStrings("Prefixes"); in EmitOptParser()
391 write_cstring(OS, getOptionPrefixedName(R)); in EmitOptParser()
394 OS << ", " << getOptionName(R); in EmitOptParser()
397 OS << ", " << R.getValueAsDef("Kind")->getValueAsString("Name"); in EmitOptParser()
403 if (const DefInit *DI = dyn_cast<DefInit>(R.getValueInit("Group"))) { in EmitOptParser()
412 if (const DefInit *DI = dyn_cast<DefInit>(R.getValueInit("Alias"))) in EmitOptParser()
422 std::vector<StringRef> AliasArgs = R.getValueAsListOfStrings("AliasArgs"); in EmitOptParser()
435 const ListInit *LI = R.getValueAsListInit("Flags"); in EmitOptParser()
449 LI = R.getValueAsListInit("Visibility"); in EmitOptParser()
462 OS << ", " << R.getValueAsInt("NumArgs"); in EmitOptParser()
465 if (!isa<UnsetInit>(R.getValueInit("HelpText"))) { in EmitOptParser()
468 write_cstring(OS, R.getValueAsString("HelpText")); in EmitOptParser()
475 R.getValueAsListOfDefs("HelpTextsForVariants")) { in EmitOptParser()
490 if (!isa<UnsetInit>(R.getValueInit("MetaVarName"))) in EmitOptParser()
491 write_cstring(OS, R.getValueAsString("MetaVarName")); in EmitOptParser()
497 if (!isa<UnsetInit>(R.getValueInit("Values"))) in EmitOptParser()
498 write_cstring(OS, R.getValueAsString("Values")); in EmitOptParser()
499 else if (!isa<UnsetInit>(R.getValueInit("ValuesCode"))) { in EmitOptParser()
500 OS << getOptionName(R) << "_Values"; in EmitOptParser()
505 auto IsMarshallingOption = [](const Record &R) { in EmitOptParser() argument
506 return !isa<UnsetInit>(R.getValueInit("KeyPath")) && in EmitOptParser()
507 !R.getValueAsString("KeyPath").empty(); in EmitOptParser()
511 for (const Record &R : llvm::make_pointee_range(Opts)) { in EmitOptParser() local
514 WriteOptRecordFields(OS, R); in EmitOptParser()
516 if (IsMarshallingOption(R)) in EmitOptParser()
517 OptsWithMarshalling.push_back(&R); in EmitOptParser()
540 for (const auto *R : OptsWithMarshalling) in EmitOptParser() local
541 MarshallingInfos.push_back(createMarshallingInfo(*R)); in EmitOptParser()
546 WriteOptRecordFields(OS, MI.R); in EmitOptParser()