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()
197 static void EmitOptParser(RecordKeeper &Records, raw_ostream &OS) { in EmitOptParser() argument
203 emitSourceFileHeader("Option Parsing Definitions", OS); in EmitOptParser()
229 OS << "/////////\n"; in EmitOptParser()
230 OS << "// Prefixes\n\n"; in EmitOptParser()
231 OS << "#ifdef PREFIX\n"; in EmitOptParser()
232 OS << "#define COMMA ,\n"; in EmitOptParser()
234 OS << "PREFIX("; in EmitOptParser()
237 OS << Prefix.second; in EmitOptParser()
240 OS << ", {"; in EmitOptParser()
242 OS << "llvm::StringLiteral(\"" << PrefixKey << "\") COMMA "; in EmitOptParser()
244 OS << "llvm::StringLiteral(\"\")})\n"; in EmitOptParser()
246 OS << "#undef COMMA\n"; in EmitOptParser()
247 OS << "#endif // PREFIX\n\n"; in EmitOptParser()
250 OS << "/////////\n"; in EmitOptParser()
251 OS << "// Prefix Union\n\n"; in EmitOptParser()
252 OS << "#ifdef PREFIX_UNION\n"; in EmitOptParser()
253 OS << "#define COMMA ,\n"; in EmitOptParser()
254 OS << "PREFIX_UNION({\n"; in EmitOptParser()
256 OS << "llvm::StringLiteral(\"" << Prefix << "\") COMMA "; in EmitOptParser()
258 OS << "llvm::StringLiteral(\"\")})\n"; in EmitOptParser()
259 OS << "#undef COMMA\n"; in EmitOptParser()
260 OS << "#endif // PREFIX_UNION\n\n"; in EmitOptParser()
263 OS << "/////////\n"; in EmitOptParser()
264 OS << "// ValuesCode\n\n"; in EmitOptParser()
265 OS << "#ifdef OPTTABLE_VALUES_CODE\n"; in EmitOptParser()
271 OS << "#define VALUES_CODE " << getOptionName(R) << "_Values\n"; in EmitOptParser()
272 OS << R.getValueAsString("ValuesCode") << "\n"; in EmitOptParser()
273 OS << "#undef VALUES_CODE\n"; in EmitOptParser()
276 OS << "#endif\n"; in EmitOptParser()
278 OS << "/////////\n"; in EmitOptParser()
279 OS << "// Groups\n\n"; in EmitOptParser()
280 OS << "#ifdef OPTION\n"; in EmitOptParser()
283 OS << "OPTION("; in EmitOptParser()
286 OS << "llvm::ArrayRef<llvm::StringLiteral>()"; in EmitOptParser()
289 OS << ", \"" << R.getValueAsString("Name") << '"'; in EmitOptParser()
292 OS << ", " << getOptionName(R); in EmitOptParser()
295 OS << ", Group"; in EmitOptParser()
298 OS << ", "; in EmitOptParser()
300 OS << getOptionName(*DI->getDef()); in EmitOptParser()
302 OS << "INVALID"; in EmitOptParser()
305 OS << ", INVALID, nullptr, 0, 0, 0"; in EmitOptParser()
309 OS << ",\n"; in EmitOptParser()
310 OS << " "; in EmitOptParser()
311 write_cstring(OS, R.getValueAsString("HelpText")); in EmitOptParser()
313 OS << ", nullptr"; in EmitOptParser()
316 OS << ", nullptr"; in EmitOptParser()
319 OS << ", nullptr)\n"; in EmitOptParser()
321 OS << "\n"; in EmitOptParser()
323 OS << "//////////\n"; in EmitOptParser()
324 OS << "// Options\n\n"; in EmitOptParser()
326 auto WriteOptRecordFields = [&](raw_ostream &OS, const Record &R) { in EmitOptParser() argument
329 OS << Prefixes[PrefixKeyT(RPrefixes.begin(), RPrefixes.end())] << ", "; 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()
341 OS << ", "; in EmitOptParser()
347 OS << getOptionName(*DI->getDef()); in EmitOptParser()
349 OS << "INVALID"; in EmitOptParser()
352 OS << ", "; in EmitOptParser()
354 OS << getOptionName(*DI->getDef()); in EmitOptParser()
356 OS << "INVALID"; in EmitOptParser()
362 OS << ", "; in EmitOptParser()
365 OS << "nullptr"; in EmitOptParser()
367 OS << "\""; in EmitOptParser()
369 OS << AliasArg << "\\0"; in EmitOptParser()
370 OS << "\""; in EmitOptParser()
374 OS << ", "; in EmitOptParser()
378 OS << (NumFlags++ ? " | " : "") << cast<DefInit>(I)->getDef()->getName(); in EmitOptParser()
381 OS << (NumFlags++ ? " | " : "") in EmitOptParser()
385 OS << '0'; in EmitOptParser()
388 OS << ", "; in EmitOptParser()
392 OS << (NumVisFlags++ ? " | " : "") in EmitOptParser()
396 OS << (NumVisFlags++ ? " | " : "") in EmitOptParser()
400 OS << '0'; in EmitOptParser()
403 OS << ", " << R.getValueAsInt("NumArgs"); in EmitOptParser()
407 OS << ",\n"; in EmitOptParser()
408 OS << " "; in EmitOptParser()
409 write_cstring(OS, R.getValueAsString("HelpText")); in EmitOptParser()
411 OS << ", nullptr"; in EmitOptParser()
414 OS << ", "; in EmitOptParser()
416 write_cstring(OS, R.getValueAsString("MetaVarName")); in EmitOptParser()
418 OS << "nullptr"; in EmitOptParser()
421 OS << ", "; in EmitOptParser()
423 write_cstring(OS, R.getValueAsString("Values")); in EmitOptParser()
425 OS << getOptionName(R) << "_Values"; in EmitOptParser()
428 OS << "nullptr"; in EmitOptParser()
439 OS << "OPTION("; in EmitOptParser()
440 WriteOptRecordFields(OS, R); in EmitOptParser()
441 OS << ")\n"; in EmitOptParser()
445 OS << "#endif // OPTION\n"; in EmitOptParser()
470 OS << "#ifdef " << MI.getMacroName() << "\n"; in EmitOptParser()
471 OS << MI.getMacroName() << "("; in EmitOptParser()
472 WriteOptRecordFields(OS, MI.R); in EmitOptParser()
473 OS << ", "; in EmitOptParser()
474 MI.emit(OS); in EmitOptParser()
475 OS << ")\n"; in EmitOptParser()
476 OS << "#endif // " << MI.getMacroName() << "\n"; in EmitOptParser()
479 OS << "\n"; in EmitOptParser()
480 OS << "#ifdef SIMPLE_ENUM_VALUE_TABLE"; in EmitOptParser()
481 OS << "\n"; in EmitOptParser()
482 OS << MarshallingInfo::ValueTablePreamble; in EmitOptParser()
485 if (auto MaybeValueTableName = MI.emitValueTable(OS)) in EmitOptParser()
488 OS << MarshallingInfo::ValueTablesDecl << "{"; in EmitOptParser()
490 OS << "{" << ValueTableName << ", std::size(" << ValueTableName << ")},\n"; in EmitOptParser()
491 OS << "};\n"; in EmitOptParser()
492 OS << "static const unsigned SimpleEnumValueTablesSize = " in EmitOptParser()
495 OS << "#endif // SIMPLE_ENUM_VALUE_TABLE\n"; in EmitOptParser()
496 OS << "\n"; in EmitOptParser()
498 OS << "\n"; in EmitOptParser()