Loading...
Searching...
No Matches
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.
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.
virtual void | record_failed_to_prove (Expr failed_to_prove, Expr original_expr)=0
| Record when can_prove() fails, but cannot find a counterexample.
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).
virtual void | record_compilation_time (Phase phase, double duration)=0
| Record the compilation time (in seconds) for a given phase.
virtual std::ostream & | emit_to_stream (std::ostream &o)=0
| Emit all the gathered data to the given stream.

## 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