Halide 20.0.0
Halide compiler and libraries
|
An IRVisitor that emits IR to the given output stream in a human readable form. More...
#include <IRPrinter.h>
Public Member Functions | |
IRPrinter (std::ostream &) | |
Construct an IRPrinter pointed at a given output stream (e.g. | |
void | print (const Expr &) |
emit an expression on the output stream | |
void | print_no_parens (const Expr &) |
Emit an expression on the output stream without enclosing parens. | |
void | print (const Stmt &) |
emit a statement on the output stream | |
void | print_summary (const Stmt &) |
emit a statement summary on the output stream | |
void | print_list (const std::vector< Expr > &exprs) |
emit a comma delimited list of exprs, without any leading or trailing punctuation. | |
![]() | |
IRVisitor ()=default | |
virtual | ~IRVisitor ()=default |
Static Public Member Functions | |
static void | test () |
Protected Attributes | |
std::ostream & | stream |
The stream on which we're outputting. | |
int | indent = 0 |
The current indentation level, useful for pretty-printing statements. | |
bool | implicit_parens = false |
Certain expressions do not need parens around them, e.g. | |
bool | is_summary = false |
Print only a summary of a statement, with sub-statements replaced by ellipses (...). | |
bool | ansi = false |
int | paren_depth = 0 |
const char * | ansi_hl = "" |
const char * | ansi_dim = "" |
const char * | ansi_kw = "" |
const char * | ansi_imm_int = "" |
const char * | ansi_imm_float = "" |
const char * | ansi_imm_str = "" |
const char * | ansi_var = "" |
const char * | ansi_buf = "" |
const char * | ansi_fn = "" |
const char * | ansi_type = "" |
const char * | ansi_reset_col = "" |
const char * | ansi_reset = "" |
Scope | known_type |
The symbols whose types can be inferred from values printed already. | |
An IRVisitor that emits IR to the given output stream in a human readable form.
Can be subclassed if you want to modify the way in which it prints.
Definition at line 140 of file IRPrinter.h.
|
explicit |
Construct an IRPrinter pointed at a given output stream (e.g.
std::cout, or a std::ofstream)
Emit an expression on the output stream without enclosing parens.
emit a statement summary on the output stream
emit a comma delimited list of exprs, without any leading or trailing punctuation.
|
static |
|
inlineprotected |
Definition at line 165 of file IRPrinter.h.
References indent.
|
protected |
|
protected |
Either emits "(" or "", depending on the value of implicit_parens.
|
protected |
Either emits ")" or "", depending on the value of implicit_parens.
|
protected |
Emits "(" always.
|
protected |
Emits ")" always.
A helper for printing a chain of lets with line breaks.
|
protected |
A helper for printing a braced statement.
Reimplemented from Halide::Internal::IRVisitor.
Reimplemented from Halide::Internal::IRVisitor.
Reimplemented from Halide::Internal::IRVisitor.
Reimplemented from Halide::Internal::IRVisitor.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
Reimplemented from Halide::Internal::IRVisitor.
Reimplemented from Halide::Internal::IRVisitor.
Reimplemented from Halide::Internal::IRVisitor.
Reimplemented from Halide::Internal::IRVisitor.
Reimplemented from Halide::Internal::IRVisitor.
Reimplemented from Halide::Internal::IRVisitor.
Reimplemented from Halide::Internal::IRVisitor.
Reimplemented from Halide::Internal::IRVisitor.
Reimplemented from Halide::Internal::IRVisitor.
Reimplemented from Halide::Internal::IRVisitor.
Reimplemented from Halide::Internal::IRVisitor.
Reimplemented from Halide::Internal::IRVisitor.
Reimplemented from Halide::Internal::IRVisitor.
Reimplemented from Halide::Internal::IRVisitor.
Reimplemented from Halide::Internal::IRVisitor.
Reimplemented from Halide::Internal::IRVisitor.
Reimplemented from Halide::Internal::IRVisitor.
Reimplemented from Halide::Internal::IRVisitor.
Reimplemented from Halide::Internal::IRVisitor.
Reimplemented from Halide::Internal::IRVisitor.
Reimplemented from Halide::Internal::IRVisitor.
Reimplemented from Halide::Internal::IRVisitor.
Reimplemented from Halide::Internal::IRVisitor.
Reimplemented from Halide::Internal::IRVisitor.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
Reimplemented from Halide::Internal::IRVisitor.
Reimplemented from Halide::Internal::IRVisitor.
Reimplemented from Halide::Internal::IRVisitor.
Reimplemented from Halide::Internal::IRVisitor.
Reimplemented from Halide::Internal::IRVisitor.
Reimplemented from Halide::Internal::IRVisitor.
Reimplemented from Halide::Internal::IRVisitor.
Reimplemented from Halide::Internal::IRVisitor.
Reimplemented from Halide::Internal::IRVisitor.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
Reimplemented from Halide::Internal::IRVisitor.
Reimplemented from Halide::Internal::IRVisitor.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
Reimplemented from Halide::Internal::IRVisitor.
Reimplemented from Halide::Internal::IRVisitor.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
Reimplemented from Halide::Internal::IRVisitor.
|
protected |
The stream on which we're outputting.
Definition at line 170 of file IRPrinter.h.
|
protected |
The current indentation level, useful for pretty-printing statements.
Definition at line 174 of file IRPrinter.h.
Referenced by get_indent().
Certain expressions do not need parens around them, e.g.
the args to a call are already separated by commas and a surrounding set of parens.
Definition at line 179 of file IRPrinter.h.
Print only a summary of a statement, with sub-statements replaced by ellipses (...).
Definition at line 183 of file IRPrinter.h.
Definition at line 185 of file IRPrinter.h.
|
protected |
Definition at line 186 of file IRPrinter.h.
Definition at line 188 of file IRPrinter.h.
Definition at line 189 of file IRPrinter.h.
Definition at line 190 of file IRPrinter.h.
Definition at line 191 of file IRPrinter.h.
Definition at line 192 of file IRPrinter.h.
Definition at line 193 of file IRPrinter.h.
Definition at line 194 of file IRPrinter.h.
Definition at line 195 of file IRPrinter.h.
Definition at line 196 of file IRPrinter.h.
Definition at line 197 of file IRPrinter.h.
Definition at line 198 of file IRPrinter.h.
Definition at line 199 of file IRPrinter.h.
|
protected |
The symbols whose types can be inferred from values printed already.
Definition at line 232 of file IRPrinter.h.