Lines Matching refs:os
46 void mlir::tblgen::emitDescription(StringRef description, raw_ostream &os) { in emitDescription() argument
47 raw_indented_ostream ros(os); in emitDescription()
52 static void emitIfNotEmpty(StringRef str, raw_ostream &os) { in emitIfNotEmpty() argument
54 emitDescription(str, os); in emitIfNotEmpty()
55 os << "\n"; in emitIfNotEmpty()
61 static void emitNamedConstraint(const T &it, raw_ostream &os) { in emitNamedConstraint() argument
63 os << "| `" << it.name << "`"; in emitNamedConstraint()
65 os << "«unnamed»"; in emitNamedConstraint()
66 os << " | " << it.constraint.getSummary() << "\n"; in emitNamedConstraint()
75 raw_ostream &os) { in emitAssemblyFormat() argument
76 os << "\nSyntax:\n\n```\noperation ::= `" << opName << "` "; in emitAssemblyFormat()
81 os << split.first.trim() << "\n"; in emitAssemblyFormat()
86 os.indent(indent) << formatChunk << "\n"; in emitAssemblyFormat()
88 os << "```\n\n"; in emitAssemblyFormat()
91 static void emitOpTraitsDoc(const Operator &op, raw_ostream &os) { in emitOpTraitsDoc() argument
113 llvm::raw_string_ostream os(effectStr); in emitOpTraitsDoc() local
114 os << effectName << "{"; in emitOpTraitsDoc()
116 llvm::interleaveComma(list, os, [&](Record *rec) { in emitOpTraitsDoc()
120 os << effect << " on " << rec->getValueAsString("resource"); in emitOpTraitsDoc()
122 os << "}"; in emitOpTraitsDoc()
123 effects.insert(os.str()); in emitOpTraitsDoc()
133 llvm::interleaveComma(traits, os << "\nTraits: "); in emitOpTraitsDoc()
134 os << "\n"; in emitOpTraitsDoc()
137 llvm::interleaveComma(interfaces, os << "\nInterfaces: "); in emitOpTraitsDoc()
138 os << "\n"; in emitOpTraitsDoc()
141 llvm::interleaveComma(effects, os << "\nEffects: "); in emitOpTraitsDoc()
142 os << "\n"; in emitOpTraitsDoc()
146 static void emitOpDoc(const Operator &op, raw_ostream &os) { in emitOpDoc() argument
147 os << llvm::formatv("### `{0}` ({1})\n", op.getOperationName(), in emitOpDoc()
152 os << "\n" << op.getSummary() << "\n\n"; in emitOpDoc()
155 os); in emitOpDoc()
157 mlir::tblgen::emitDescription(op.getDescription(), os); in emitOpDoc()
159 emitOpTraitsDoc(op, os); in emitOpDoc()
165 os << "\n#### Attributes:\n\n"; in emitOpDoc()
166 os << "| Attribute | MLIR Type | Description |\n" in emitOpDoc()
170 os << "| `" << it.name << "` | " << storageType << " | " in emitOpDoc()
177 os << "\n#### Operands:\n\n"; in emitOpDoc()
178 os << "| Operand | Description |\n" in emitOpDoc()
181 emitNamedConstraint(it, os); in emitOpDoc()
186 os << "\n#### Results:\n\n"; in emitOpDoc()
187 os << "| Result | Description |\n" in emitOpDoc()
190 emitNamedConstraint(it, os); in emitOpDoc()
195 os << "\n#### Successors:\n\n"; in emitOpDoc()
196 os << "| Successor | Description |\n" in emitOpDoc()
199 emitNamedConstraint(it, os); in emitOpDoc()
202 os << "\n"; in emitOpDoc()
205 static void emitOpDoc(const RecordKeeper &recordKeeper, raw_ostream &os) { in emitOpDoc() argument
208 os << "<!-- Autogenerated by mlir-tblgen; don't manually edit -->\n"; in emitOpDoc()
210 emitOpDoc(Operator(opDef), os); in emitOpDoc()
217 static void emitAttrDoc(const Attribute &attr, raw_ostream &os) { in emitAttrDoc() argument
218 os << "### " << attr.getSummary() << "\n\n"; in emitAttrDoc()
219 emitDescription(attr.getDescription(), os); in emitAttrDoc()
220 os << "\n\n"; in emitAttrDoc()
227 static void emitTypeDoc(const Type &type, raw_ostream &os) { in emitTypeDoc() argument
228 os << "### " << type.getSummary() << "\n\n"; in emitTypeDoc()
229 emitDescription(type.getDescription(), os); in emitTypeDoc()
230 os << "\n\n"; in emitTypeDoc()
238 raw_ostream &os) { in emitAttrOrTypeDefAssemblyFormat() argument
241 os << "\nSyntax: `!" << def.getDialect().getName() << "." in emitAttrOrTypeDefAssemblyFormat()
246 os << "\nSyntax:\n\n```\n!" << def.getDialect().getName() << "." in emitAttrOrTypeDefAssemblyFormat()
250 os << " " << param.getSyntax(); in emitAttrOrTypeDefAssemblyFormat()
252 os << ","; in emitAttrOrTypeDefAssemblyFormat()
253 os << " # " << param.getName() << "\n"; in emitAttrOrTypeDefAssemblyFormat()
255 os << ">\n```\n"; in emitAttrOrTypeDefAssemblyFormat()
258 static void emitAttrOrTypeDefDoc(const AttrOrTypeDef &def, raw_ostream &os) { in emitAttrOrTypeDefDoc() argument
259 os << llvm::formatv("### {0}\n", def.getCppClassName()); in emitAttrOrTypeDefDoc()
263 os << "\n" << def.getSummary() << "\n"; in emitAttrOrTypeDefDoc()
267 emitAttrOrTypeDefAssemblyFormat(def, os); in emitAttrOrTypeDefDoc()
271 os << "\n"; in emitAttrOrTypeDefDoc()
272 mlir::tblgen::emitDescription(def.getDescription(), os); in emitAttrOrTypeDefDoc()
278 os << "\n#### Parameters:\n\n"; in emitAttrOrTypeDefDoc()
279 os << "| Parameter | C++ type | Description |\n" in emitAttrOrTypeDefDoc()
283 os << "| " << it.getName() << " | `" << it.getCppType() << "` | " in emitAttrOrTypeDefDoc()
288 os << "\n"; in emitAttrOrTypeDefDoc()
292 raw_ostream &os, StringRef recordTypeName) { in emitAttrOrTypeDefDoc() argument
296 os << "<!-- Autogenerated by mlir-tblgen; don't manually edit -->\n"; in emitAttrOrTypeDefDoc()
298 emitAttrOrTypeDefDoc(AttrOrTypeDef(def), os); in emitAttrOrTypeDefDoc()
309 raw_ostream &os) { in emitDialectDoc() argument
310 os << "# '" << dialect.getName() << "' Dialect\n\n"; in emitDialectDoc()
311 emitIfNotEmpty(dialect.getSummary(), os); in emitDialectDoc()
312 emitIfNotEmpty(dialect.getDescription(), os); in emitDialectDoc()
317 os << "[TOC]\n\n"; in emitDialectDoc()
320 os << "## Operation definition\n\n"; in emitDialectDoc()
322 emitOpDoc(op, os); in emitDialectDoc()
326 os << "## Attribute constraint definition\n\n"; in emitDialectDoc()
328 emitAttrDoc(attr, os); in emitDialectDoc()
332 os << "## Attribute definition\n\n"; in emitDialectDoc()
334 emitAttrOrTypeDefDoc(def, os); in emitDialectDoc()
339 os << "## Type constraint definition\n\n"; in emitDialectDoc()
341 emitTypeDoc(type, os); in emitDialectDoc()
345 os << "## Type definition\n\n"; in emitDialectDoc()
347 emitAttrOrTypeDefDoc(def, os); in emitDialectDoc()
351 static bool emitDialectDoc(const RecordKeeper &recordKeeper, raw_ostream &os) { in emitDialectDoc() argument
412 os << "<!-- Autogenerated by mlir-tblgen; don't manually edit -->\n"; in emitDialectDoc()
416 dialectTypes[dialectName], dialectTypeDefs[dialectName], os); in emitDialectDoc()
427 [](const RecordKeeper &records, raw_ostream &os) { in __anond306c54e0202() argument
428 emitAttrOrTypeDefDoc(records, os, "AttrDef"); in __anond306c54e0202()
434 [](const RecordKeeper &records, raw_ostream &os) { in __anond306c54e0302() argument
435 emitOpDoc(records, os); in __anond306c54e0302()
441 [](const RecordKeeper &records, raw_ostream &os) { in __anond306c54e0402() argument
442 emitAttrOrTypeDefDoc(records, os, "TypeDef"); in __anond306c54e0402()
448 [](const RecordKeeper &records, raw_ostream &os) { in __anond306c54e0502() argument
449 return emitDialectDoc(records, os); in __anond306c54e0502()