Halide 22.0.0 Halide compiler and libraries

Public Types | Public Member Functions | List of all members
Halide::Internal::CompilerLogger Class Referenceabstract

`#include <CompilerLogger.h>`

Inheritance diagram for Halide::Internal::CompilerLogger:

## Public Types
enum class | Phase { HalideLowering , LLVM }
| The "Phase" of compilation, used for some calls. More...

## Public Member Functions
| CompilerLogger ()=default
virtual | ~CompilerLogger ()=default
virtual void | record_matched_simplifier_rule (const std::string &rulename, Expr expr)=0
| Record when a particular simplifier rule matches. More...
virtual void | record_non_monotonic_loop_var (const std::string &loop_var, Expr expr)=0
| Record when an expression is non-monotonic in a loop variable. More...
virtual void | record_failed_to_prove (Expr failed_to_prove, Expr original_expr)=0
| Record when can_prove() fails, but cannot find a counterexample. More...
virtual void | record_object_code_size (uint64_t bytes)=0
| Record total size (in bytes) of final generated object code (e.g., file size of .o output). More...
virtual void | record_compilation_time (Phase phase, double duration)=0
| Record the compilation time (in seconds) for a given phase. More...
virtual std::ostream & | emit_to_stream (std::ostream &o)=0
| Emit all the gathered data to the given stream. More...

## Detailed Description

Definition at line 25 of file CompilerLogger.h.

## Member Enumeration Documentation

## ◆ Phase

enum class Halide::Internal::CompilerLogger::Phase
| strong

The "Phase" of compilation, used for some calls.

Enumerator
HalideLowering |
LLVM |

Definition at line 28 of file CompilerLogger.h.

## Constructor & Destructor Documentation

## ◆ CompilerLogger()

Halide::Internal::CompilerLogger::CompilerLogger | ( |  | ) |
| default

## ◆ ~CompilerLogger()

virtual Halide::Internal::CompilerLogger::~CompilerLogger | ( |  | ) |
| virtual default

## Member Function Documentation

## ◆ record_matched_simplifier_rule()

virtual void Halide::Internal::CompilerLogger::record_matched_simplifier_rule | ( | const std::string & | rulename,
|  | Expr | expr
| ) |  |
| pure virtual

Record when a particular simplifier rule matches.

Implemented in Halide::Internal::JSONCompilerLogger.

## ◆ record_non_monotonic_loop_var()

virtual void Halide::Internal::CompilerLogger::record_non_monotonic_loop_var | ( | const std::string & | loop_var,
|  | Expr | expr
| ) |  |
| pure virtual

Record when an expression is non-monotonic in a loop variable.

Implemented in Halide::Internal::JSONCompilerLogger.

## ◆ record_failed_to_prove()

virtual void Halide::Internal::CompilerLogger::record_failed_to_prove | ( | Expr | failed_to_prove,
|  | Expr | original_expr
| ) |  |
| pure virtual

Record when can_prove() fails, but cannot find a counterexample.

Implemented in Halide::Internal::JSONCompilerLogger.

## ◆ record_object_code_size()

virtual void Halide::Internal::CompilerLogger::record_object_code_size | ( | uint64_t | bytes | ) |
| pure virtual

Record total size (in bytes) of final generated object code (e.g., file size of .o output).

Implemented in Halide::Internal::JSONCompilerLogger.

## ◆ record_compilation_time()

virtual void Halide::Internal::CompilerLogger::record_compilation_time | ( | Phase | phase,
|  | double | duration
| ) |  |
| pure virtual

Record the compilation time (in seconds) for a given phase.

Implemented in Halide::Internal::JSONCompilerLogger.

## ◆ emit_to_stream()

virtual std::ostream & Halide::Internal::CompilerLogger::emit_to_stream | ( | std::ostream & | o | ) |
| pure virtual

Emit all the gathered data to the given stream.

This may be called multiple times.

Implemented in Halide::Internal::JSONCompilerLogger.

The documentation for this class was generated from the following file:

- src/CompilerLogger.h