Halide 18.0.0
Halide compiler and libraries
|
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...
#include <CompilerLogger.h>
Public Member Functions | |
JSONCompilerLogger ()=default | |
JSONCompilerLogger (const std::string &generator_name, const std::string &function_name, const std::string &autoscheduler_name, const Target &target, const std::string &generator_args, bool obfuscate_exprs) | |
void | record_matched_simplifier_rule (const std::string &rulename, Expr expr) override |
Record when a particular simplifier rule matches. | |
void | record_non_monotonic_loop_var (const std::string &loop_var, Expr expr) override |
Record when an expression is non-monotonic in a loop variable. | |
void | record_failed_to_prove (Expr failed_to_prove, Expr original_expr) override |
Record when can_prove() fails, but cannot find a counterexample. | |
void | record_object_code_size (uint64_t bytes) override |
Record total size (in bytes) of final generated object code (e.g., file size of .o output). | |
void | record_compilation_time (Phase phase, double duration) override |
Record the compilation time (in seconds) for a given phase. | |
std::ostream & | emit_to_stream (std::ostream &o) override |
Emit all the gathered data to the given stream. | |
![]() | |
CompilerLogger ()=default | |
virtual | ~CompilerLogger ()=default |
Protected Member Functions | |
void | obfuscate () |
void | emit () |
Protected Attributes | |
const std::string | generator_name |
const std::string | function_name |
const std::string | autoscheduler_name |
const Target | target = Target() |
const std::string | generator_args |
const bool | obfuscate_exprs {false} |
std::map< std::string, std::vector< Expr > > | matched_simplifier_rules |
std::map< std::string, std::vector< Expr > > | non_monotonic_loop_vars |
std::vector< std::pair< Expr, Expr > > | failed_to_prove_exprs |
uint64_t | object_code_size {0} |
std::map< Phase, double > | compilation_time |
Additional Inherited Members | |
![]() | |
enum class | Phase { HalideLowering , LLVM } |
The "Phase" of compilation, used for some calls. More... | |
JSONCompilerLogger is a basic implementation of the CompilerLogger interface that saves logged data, then logs it all in JSON format in emit_to_stream().
Definition at line 76 of file CompilerLogger.h.
|
default |
Halide::Internal::JSONCompilerLogger::JSONCompilerLogger | ( | const std::string & | generator_name, |
const std::string & | function_name, | ||
const std::string & | autoscheduler_name, | ||
const Target & | target, | ||
const std::string & | generator_args, | ||
bool | obfuscate_exprs | ||
) |
|
overridevirtual |
Record when a particular simplifier rule matches.
Implements Halide::Internal::CompilerLogger.
|
overridevirtual |
Record when an expression is non-monotonic in a loop variable.
Implements Halide::Internal::CompilerLogger.
|
overridevirtual |
Record when can_prove() fails, but cannot find a counterexample.
Implements Halide::Internal::CompilerLogger.
|
overridevirtual |
Record total size (in bytes) of final generated object code (e.g., file size of .o output).
Implements Halide::Internal::CompilerLogger.
|
overridevirtual |
Record the compilation time (in seconds) for a given phase.
Implements Halide::Internal::CompilerLogger.
|
overridevirtual |
Emit all the gathered data to the given stream.
This may be called multiple times.
Implements Halide::Internal::CompilerLogger.
|
protected |
|
protected |
|
protected |
Definition at line 97 of file CompilerLogger.h.
|
protected |
Definition at line 98 of file CompilerLogger.h.
|
protected |
Definition at line 99 of file CompilerLogger.h.
Definition at line 100 of file CompilerLogger.h.
|
protected |
Definition at line 101 of file CompilerLogger.h.
Definition at line 102 of file CompilerLogger.h.
|
protected |
Definition at line 105 of file CompilerLogger.h.
|
protected |
Definition at line 108 of file CompilerLogger.h.
|
protected |
Definition at line 111 of file CompilerLogger.h.
|
protected |
Definition at line 114 of file CompilerLogger.h.
Definition at line 117 of file CompilerLogger.h.