Lines Matching refs:OS

30 static raw_ostream &write_cstring(raw_ostream &OS, llvm::StringRef Str) {  in write_cstring()  argument
31 OS << '"'; in write_cstring()
32 OS.write_escaped(Str); in write_cstring()
33 OS << '"'; in write_cstring()
34 return OS; in write_cstring()
91 void emit(raw_ostream &OS) const { in emit()
92 OS << ShouldParse; in emit()
93 OS << ", "; in emit()
94 OS << ShouldAlwaysEmit; in emit()
95 OS << ", "; in emit()
96 OS << KeyPath; in emit()
97 OS << ", "; in emit()
98 emitScopedNormalizedValue(OS, DefaultValue); in emit()
99 OS << ", "; in emit()
100 OS << ImpliedCheck; in emit()
101 OS << ", "; in emit()
102 emitScopedNormalizedValue(OS, ImpliedValue); in emit()
103 OS << ", "; in emit()
104 OS << Normalizer; in emit()
105 OS << ", "; in emit()
106 OS << Denormalizer; in emit()
107 OS << ", "; in emit()
108 OS << ValueMerger; in emit()
109 OS << ", "; in emit()
110 OS << ValueExtractor; in emit()
111 OS << ", "; in emit()
112 OS << TableIndex; in emit()
115 std::optional<StringRef> emitValueTable(raw_ostream &OS) const { in emitValueTable()
118 OS << "static const SimpleEnumValue " << ValueTableName << "[] = {\n"; in emitValueTable()
120 OS << "{"; in emitValueTable()
121 write_cstring(OS, Values[I]); in emitValueTable()
122 OS << ","; in emitValueTable()
123 OS << "static_cast<unsigned>("; in emitValueTable()
124 emitScopedNormalizedValue(OS, NormalizedValues[I]); in emitValueTable()
125 OS << ")},"; in emitValueTable()
127 OS << "};\n"; in emitValueTable()
132 void emitScopedNormalizedValue(raw_ostream &OS, in emitScopedNormalizedValue() argument
135 OS << NormalizedValuesScope << "::"; in emitScopedNormalizedValue()
136 OS << NormalizedValue; in emitScopedNormalizedValue()
195 raw_ostream &OS, std::vector<std::pair<std::vector<std::string>, StringRef>> in EmitHelpTextsForVariants() argument
214 OS << ", (std::array<std::pair<std::array<unsigned, " << MaxVisibilityPerHelp in EmitHelpTextsForVariants()
225 OS << "std::make_pair(std::array<unsigned, " << MaxVisibilityPerHelp in EmitHelpTextsForVariants()
231 OS << *Visibility; in EmitHelpTextsForVariants()
233 OS << ", "; in EmitHelpTextsForVariants()
236 OS << "}}, "; in EmitHelpTextsForVariants()
239 write_cstring(OS, Help); in EmitHelpTextsForVariants()
241 OS << "nullptr"; in EmitHelpTextsForVariants()
242 OS << ")"; in EmitHelpTextsForVariants()
245 OS << ", "; in EmitHelpTextsForVariants()
247 OS << " }})"; in EmitHelpTextsForVariants()
253 static void EmitOptParser(RecordKeeper &Records, raw_ostream &OS) { in EmitOptParser() argument
259 emitSourceFileHeader("Option Parsing Definitions", OS); in EmitOptParser()
285 OS << "/////////\n"; in EmitOptParser()
286 OS << "// Prefixes\n\n"; in EmitOptParser()
287 OS << "#ifdef PREFIX\n"; in EmitOptParser()
288 OS << "#define COMMA ,\n"; in EmitOptParser()
290 OS << "PREFIX("; in EmitOptParser()
293 OS << Prefix.second; in EmitOptParser()
296 OS << ", {"; in EmitOptParser()
298 OS << "llvm::StringLiteral(\"" << PrefixKey << "\") COMMA "; in EmitOptParser()
300 OS << "llvm::StringLiteral(\"\")})\n"; in EmitOptParser()
302 OS << "#undef COMMA\n"; in EmitOptParser()
303 OS << "#endif // PREFIX\n\n"; in EmitOptParser()
306 OS << "/////////\n"; in EmitOptParser()
307 OS << "// Prefix Union\n\n"; in EmitOptParser()
308 OS << "#ifdef PREFIX_UNION\n"; in EmitOptParser()
309 OS << "#define COMMA ,\n"; in EmitOptParser()
310 OS << "PREFIX_UNION({\n"; in EmitOptParser()
312 OS << "llvm::StringLiteral(\"" << Prefix << "\") COMMA "; in EmitOptParser()
314 OS << "llvm::StringLiteral(\"\")})\n"; in EmitOptParser()
315 OS << "#undef COMMA\n"; in EmitOptParser()
316 OS << "#endif // PREFIX_UNION\n\n"; in EmitOptParser()
319 OS << "/////////\n"; in EmitOptParser()
320 OS << "// ValuesCode\n\n"; in EmitOptParser()
321 OS << "#ifdef OPTTABLE_VALUES_CODE\n"; in EmitOptParser()
327 OS << "#define VALUES_CODE " << getOptionName(R) << "_Values\n"; in EmitOptParser()
328 OS << R.getValueAsString("ValuesCode") << "\n"; in EmitOptParser()
329 OS << "#undef VALUES_CODE\n"; in EmitOptParser()
332 OS << "#endif\n"; in EmitOptParser()
334 OS << "/////////\n"; in EmitOptParser()
335 OS << "// Groups\n\n"; in EmitOptParser()
336 OS << "#ifdef OPTION\n"; in EmitOptParser()
339 OS << "OPTION("; in EmitOptParser()
342 OS << "llvm::ArrayRef<llvm::StringLiteral>()"; in EmitOptParser()
345 OS << ", \"" << R.getValueAsString("Name") << '"'; in EmitOptParser()
348 OS << ", " << getOptionName(R); in EmitOptParser()
351 OS << ", Group"; in EmitOptParser()
354 OS << ", "; in EmitOptParser()
356 OS << getOptionName(*DI->getDef()); in EmitOptParser()
358 OS << "INVALID"; in EmitOptParser()
361 OS << ", INVALID, nullptr, 0, 0, 0"; in EmitOptParser()
365 OS << ",\n"; in EmitOptParser()
366 OS << " "; in EmitOptParser()
367 write_cstring(OS, R.getValueAsString("HelpText")); in EmitOptParser()
369 OS << ", nullptr"; in EmitOptParser()
372 EmitHelpTextsForVariants(OS, {}); in EmitOptParser()
375 OS << ", nullptr"; in EmitOptParser()
378 OS << ", nullptr)\n"; in EmitOptParser()
380 OS << "\n"; in EmitOptParser()
382 OS << "//////////\n"; in EmitOptParser()
383 OS << "// Options\n\n"; in EmitOptParser()
385 auto WriteOptRecordFields = [&](raw_ostream &OS, const Record &R) { in EmitOptParser() argument
388 OS << Prefixes[PrefixKeyT(RPrefixes.begin(), RPrefixes.end())] << ", "; 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()
400 OS << ", "; in EmitOptParser()
406 OS << getOptionName(*DI->getDef()); in EmitOptParser()
408 OS << "INVALID"; in EmitOptParser()
411 OS << ", "; in EmitOptParser()
413 OS << getOptionName(*DI->getDef()); in EmitOptParser()
415 OS << "INVALID"; in EmitOptParser()
421 OS << ", "; in EmitOptParser()
424 OS << "nullptr"; in EmitOptParser()
426 OS << "\""; in EmitOptParser()
428 OS << AliasArg << "\\0"; in EmitOptParser()
429 OS << "\""; in EmitOptParser()
433 OS << ", "; in EmitOptParser()
437 OS << (NumFlags++ ? " | " : "") << cast<DefInit>(I)->getDef()->getName(); in EmitOptParser()
440 OS << (NumFlags++ ? " | " : "") in EmitOptParser()
444 OS << '0'; in EmitOptParser()
447 OS << ", "; in EmitOptParser()
451 OS << (NumVisFlags++ ? " | " : "") in EmitOptParser()
455 OS << (NumVisFlags++ ? " | " : "") in EmitOptParser()
459 OS << '0'; in EmitOptParser()
462 OS << ", " << R.getValueAsInt("NumArgs"); in EmitOptParser()
466 OS << ",\n"; in EmitOptParser()
467 OS << " "; in EmitOptParser()
468 write_cstring(OS, R.getValueAsString("HelpText")); in EmitOptParser()
470 OS << ", nullptr"; in EmitOptParser()
486 EmitHelpTextsForVariants(OS, HelpTextsForVariants); in EmitOptParser()
489 OS << ", "; in EmitOptParser()
491 write_cstring(OS, R.getValueAsString("MetaVarName")); in EmitOptParser()
493 OS << "nullptr"; in EmitOptParser()
496 OS << ", "; in EmitOptParser()
498 write_cstring(OS, R.getValueAsString("Values")); in EmitOptParser()
500 OS << getOptionName(R) << "_Values"; in EmitOptParser()
502 OS << "nullptr"; in EmitOptParser()
513 OS << "OPTION("; in EmitOptParser()
514 WriteOptRecordFields(OS, R); in EmitOptParser()
515 OS << ")\n"; in EmitOptParser()
519 OS << "#endif // OPTION\n"; in EmitOptParser()
544 OS << "#ifdef " << MI.getMacroName() << "\n"; in EmitOptParser()
545 OS << MI.getMacroName() << "("; in EmitOptParser()
546 WriteOptRecordFields(OS, MI.R); in EmitOptParser()
547 OS << ", "; in EmitOptParser()
548 MI.emit(OS); in EmitOptParser()
549 OS << ")\n"; in EmitOptParser()
550 OS << "#endif // " << MI.getMacroName() << "\n"; in EmitOptParser()
553 OS << "\n"; in EmitOptParser()
554 OS << "#ifdef SIMPLE_ENUM_VALUE_TABLE"; in EmitOptParser()
555 OS << "\n"; in EmitOptParser()
556 OS << MarshallingInfo::ValueTablePreamble; in EmitOptParser()
559 if (auto MaybeValueTableName = MI.emitValueTable(OS)) in EmitOptParser()
562 OS << MarshallingInfo::ValueTablesDecl << "{"; in EmitOptParser()
564 OS << "{" << ValueTableName << ", std::size(" << ValueTableName << ")},\n"; in EmitOptParser()
565 OS << "};\n"; in EmitOptParser()
566 OS << "static const unsigned SimpleEnumValueTablesSize = " in EmitOptParser()
569 OS << "#endif // SIMPLE_ENUM_VALUE_TABLE\n"; in EmitOptParser()
570 OS << "\n"; in EmitOptParser()
572 OS << "\n"; in EmitOptParser()