Halide
IRPrinter.h File Reference
#include <ostream>
#include "IRVisitor.h"
#include "Module.h"
#include "Scope.h"

Go to the source code of this file.

Classes

struct  Halide::Internal::Indentation
 
class  Halide::Internal::IRPrinter
 An IRVisitor that emits IR to the given output stream in a human readable form. More...
 

Namespaces

 Halide
 This file defines the class FunctionDAG, which is our representation of a Halide pipeline, and contains methods to using Halide's bounds tools to query properties of it.
 
 Halide::Internal
 

Functions

std::ostream & Halide::operator<< (std::ostream &stream, const Expr &)
 Emit an expression on an output stream (such as std::cout) in human-readable form. More...
 
std::ostream & Halide::operator<< (std::ostream &stream, const Type &)
 Emit a halide type on an output stream (such as std::cout) in human-readable form. More...
 
std::ostream & Halide::operator<< (std::ostream &stream, const Module &)
 Emit a halide Module on an output stream (such as std::cout) in human-readable form. More...
 
std::ostream & Halide::operator<< (std::ostream &stream, const DeviceAPI &)
 Emit a halide device api type in human-readable form. More...
 
std::ostream & Halide::operator<< (std::ostream &stream, const MemoryType &)
 Emit a halide memory type in human-readable form. More...
 
std::ostream & Halide::operator<< (std::ostream &stream, const TailStrategy &t)
 Emit a halide tail strategy in human-readable form. More...
 
std::ostream & Halide::operator<< (std::ostream &stream, const LoopLevel &)
 Emit a halide LoopLevel in human-readable form. More...
 
std::ostream & Halide::operator<< (std::ostream &stream, const Target &)
 Emit a halide Target in a human readable form. More...
 
std::ostream & Halide::Internal::operator<< (std::ostream &stream, const AssociativePattern &)
 Emit a halide associative pattern on an output stream (such as std::cout) in a human-readable form. More...
 
std::ostream & Halide::Internal::operator<< (std::ostream &stream, const AssociativeOp &)
 Emit a halide associative op on an output stream (such as std::cout) in a human-readable form. More...
 
std::ostream & Halide::Internal::operator<< (std::ostream &stream, const Stmt &)
 Emit a halide statement on an output stream (such as std::cout) in a human-readable form. More...
 
std::ostream & Halide::Internal::operator<< (std::ostream &stream, const ForType &)
 Emit a halide for loop type (vectorized, serial, etc) in a human readable form. More...
 
std::ostream & Halide::Internal::operator<< (std::ostream &stream, const VectorReduce::Operator &)
 Emit a horizontal vector reduction op in human-readable form. More...
 
std::ostream & Halide::Internal::operator<< (std::ostream &stream, const NameMangling &)
 Emit a halide name mangling value in a human readable format. More...
 
std::ostream & Halide::Internal::operator<< (std::ostream &stream, const LoweredFunc &)
 Emit a halide LoweredFunc in a human readable format. More...
 
std::ostream & Halide::Internal::operator<< (std::ostream &stream, const LinkageType &)
 Emit a halide linkage value in a human readable format. More...
 
std::ostream & Halide::Internal::operator<< (std::ostream &stream, const DimType &)
 Emit a halide dimension type in human-readable format. More...
 
std::ostream & Halide::Internal::operator<< (std::ostream &out, const Closure &c)
 Emit a Closure in human-readable format. More...
 
std::ostream & Halide::Internal::operator<< (std::ostream &stream, const Indentation &)
 

Detailed Description

This header file defines operators that let you dump a Halide expression, statement, or type directly into an output stream in a human readable form. E.g:

Expr foo = ...
std::cout << "Foo is " << foo << "\n";

These operators are implemented using Halide::Internal::IRPrinter

Definition in file IRPrinter.h.