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>
Inherits Halide::Internal::CompilerLogger.
|
| 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. More...
|
|
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. More...
|
|
void | record_failed_to_prove (Expr failed_to_prove, Expr original_expr) override |
| Record when can_prove() fails, but cannot find a counterexample. More...
|
|
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). More...
|
|
void | record_compilation_time (Phase phase, double duration) override |
|
std::ostream & | emit_to_stream (std::ostream &o) override |
| Emit all the gathered data to the given stream. More...
|
|
| CompilerLogger ()=default |
|
virtual | ~CompilerLogger ()=default |
|
virtual void | record_compilation_time (Phase phase, double duration)=0 |
| Record the compilation time (in seconds) for a given phase. 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.
◆ JSONCompilerLogger() [1/2]
Halide::Internal::JSONCompilerLogger::JSONCompilerLogger |
( |
| ) |
|
|
default |
◆ JSONCompilerLogger() [2/2]
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 |
|
) |
| |
◆ record_matched_simplifier_rule()
void Halide::Internal::JSONCompilerLogger::record_matched_simplifier_rule |
( |
const std::string & |
rulename, |
|
|
Expr |
expr |
|
) |
| |
|
overridevirtual |
◆ record_non_monotonic_loop_var()
void Halide::Internal::JSONCompilerLogger::record_non_monotonic_loop_var |
( |
const std::string & |
loop_var, |
|
|
Expr |
expr |
|
) |
| |
|
overridevirtual |
◆ record_failed_to_prove()
void Halide::Internal::JSONCompilerLogger::record_failed_to_prove |
( |
Expr |
failed_to_prove, |
|
|
Expr |
original_expr |
|
) |
| |
|
overridevirtual |
◆ record_object_code_size()
void Halide::Internal::JSONCompilerLogger::record_object_code_size |
( |
uint64_t |
bytes | ) |
|
|
overridevirtual |
◆ record_compilation_time()
void Halide::Internal::JSONCompilerLogger::record_compilation_time |
( |
Phase |
phase, |
|
|
double |
duration |
|
) |
| |
|
override |
◆ emit_to_stream()
std::ostream& Halide::Internal::JSONCompilerLogger::emit_to_stream |
( |
std::ostream & |
o | ) |
|
|
overridevirtual |
◆ obfuscate()
void Halide::Internal::JSONCompilerLogger::obfuscate |
( |
| ) |
|
|
protected |
◆ emit()
void Halide::Internal::JSONCompilerLogger::emit |
( |
| ) |
|
|
protected |
◆ generator_name
const std::string Halide::Internal::JSONCompilerLogger::generator_name |
|
protected |
◆ function_name
const std::string Halide::Internal::JSONCompilerLogger::function_name |
|
protected |
◆ autoscheduler_name
const std::string Halide::Internal::JSONCompilerLogger::autoscheduler_name |
|
protected |
◆ target
const Target Halide::Internal::JSONCompilerLogger::target = Target() |
|
protected |
◆ generator_args
const std::string Halide::Internal::JSONCompilerLogger::generator_args |
|
protected |
◆ obfuscate_exprs
const bool Halide::Internal::JSONCompilerLogger::obfuscate_exprs {false} |
|
protected |
◆ matched_simplifier_rules
std::map<std::string, std::vector<Expr> > Halide::Internal::JSONCompilerLogger::matched_simplifier_rules |
|
protected |
◆ non_monotonic_loop_vars
std::map<std::string, std::vector<Expr> > Halide::Internal::JSONCompilerLogger::non_monotonic_loop_vars |
|
protected |
◆ failed_to_prove_exprs
std::vector<std::pair<Expr, Expr> > Halide::Internal::JSONCompilerLogger::failed_to_prove_exprs |
|
protected |
◆ object_code_size
uint64_t Halide::Internal::JSONCompilerLogger::object_code_size {0} |
|
protected |
◆ compilation_time
std::map<Phase, double> Halide::Internal::JSONCompilerLogger::compilation_time |
|
protected |
The documentation for this class was generated from the following file: