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>
|  | 
|  | 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 | 
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 ) |  | overridevirtual | 
 
 
◆ 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: