diff options
author | Clifford Wolf <clifford@clifford.at> | 2014-08-01 18:42:10 +0200 |
---|---|---|
committer | Clifford Wolf <clifford@clifford.at> | 2014-08-01 18:42:10 +0200 |
commit | 1e224506be6d824ea9ed1855fa46d039e5ffefd5 (patch) | |
tree | 0dcee1ea4fbb5b87f6492f8921d96aec137a51b9 /kernel/register.h | |
parent | d13eb7e0999def2da03eb6ddef805145f7fd9c9a (diff) |
Added per-pass cpu usage statistics
Diffstat (limited to 'kernel/register.h')
-rw-r--r-- | kernel/register.h | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/kernel/register.h b/kernel/register.h index 17942ca9..93a3308a 100644 --- a/kernel/register.h +++ b/kernel/register.h @@ -31,14 +31,23 @@ YOSYS_NAMESPACE_BEGIN struct Pass { std::string pass_name, short_help; - int call_counter; - Pass(std::string name, std::string short_help = "** document me **"); virtual ~Pass(); virtual void help(); virtual void execute(std::vector<std::string> args, RTLIL::Design *design) = 0; + int call_counter; + int64_t runtime_ns; + + struct pre_post_exec_state_t { + Pass *parent_pass; + int64_t begin_ns; + }; + + pre_post_exec_state_t pre_execute(); + void post_execute(pre_post_exec_state_t state); + void cmd_log_args(const std::vector<std::string> &args); void cmd_error(const std::vector<std::string> &args, size_t argidx, std::string msg); void extra_args(std::vector<std::string> args, size_t argidx, RTLIL::Design *design, bool select = true); |