Halide 22.0.0 Halide compiler and libraries

Classes | Namespaces | Functions
CompilerLogger.h File Reference

Defines an interface used to gather and log compile-time information, stats, etc for use in evaluating internal Halide compilation rules and efficiency. More...

`#include <iostream>`
`#include <map>`
`#include <memory>`
`#include <string>`
`#include <utility>`
`#include "Expr.h"`
`#include "Target.h"`

Go to the source code of this file.

## Classes
class | Halide::Internal::CompilerLogger
class | Halide::Internal::JSONCompilerLogger
| JSONCompilerLogger is a basic implementation of the CompilerLogger interface that saves logged data, then logs it all in JSON format in emit_to_stream(). More...

## Namespaces
namespace | 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.
namespace | Halide::Internal

## Functions
std::unique_ptr< CompilerLogger > | Halide::Internal::set_compiler_logger (std::unique_ptr< CompilerLogger > compiler_logger)
| Set the active CompilerLogger object, replacing any existing one. More...
CompilerLogger * | Halide::Internal::get_compiler_logger ()
| Return the currently active CompilerLogger object. More...

## Detailed Description

Defines an interface used to gather and log compile-time information, stats, etc for use in evaluating internal Halide compilation rules and efficiency.

The 'standard' implementation simply logs all gathered data to a local file (in JSON form), but the entire implementation can be replaced by custom definitions if you have unusual logging needs.

Definition in file CompilerLogger.h.