X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbecopystat.h;h=8f0126174a983a6116548c51000267beb75ec9ad;hb=0d841728a12986b13b56bc5c019ff9466f1bd3ae;hp=3f44902cbe7d8ca3c4b5e4d96ca548f1c3984444;hpb=8ccaa22c4f8f4585c5989bee969a75b7ac974032;p=libfirm diff --git a/ir/be/becopystat.h b/ir/be/becopystat.h index 3f44902cb..8f0126174 100644 --- a/ir/be/becopystat.h +++ b/ir/be/becopystat.h @@ -7,75 +7,49 @@ #ifndef _BECOPYSTAT_H #define _BECOPYSTAT_H -#define DO_STAT +#undef DO_STAT + #ifdef DO_STAT #include "irgraph.h" - -#define MAX_ARITY 10 -#define MAX_CLS_SIZE 10 -#define MAX_PHASE 2 - -/** - * For an explanation of these values see the code of copystat_dump_pretty - */ -enum vals_t { - I_ALL_NODES = 0, - I_BLOCKS, - - /* phi nodes */ - I_PHI_CNT, /* number of phi nodes */ - I_PHI_ARG_CNT, /* number of arguments of phis */ - I_PHI_ARG_SELF, /* number of arguments of phis being the phi itself */ - I_PHI_ARG_CONST, /* number of arguments of phis being consts */ - I_PHI_ARG_PRED, /* ... being defined in a cf-pred */ - I_PHI_ARG_GLOB, /* ... being defined elsewhere */ - I_PHI_ARITY_S, - I_PHI_ARITY_E = I_PHI_ARITY_S+MAX_ARITY, - - /* copy nodes */ - I_CPY_CNT, /* number of copynodes */ - - /* phi classes */ - I_CLS_CNT, /* number of phi classes */ - I_CLS_IF_FREE, /* number of pc having no interference */ - I_CLS_IF_MAX, /* number of possible interferences in all classes */ - I_CLS_IF_CNT, /* number of actual interferences in all classes */ - I_CLS_SIZE_S, - I_CLS_SIZE_E = I_CLS_SIZE_S+MAX_CLS_SIZE, - - /* ilp values */ - I_ILP_TIME, /* !external set! solving time in seconds */ - I_ILP_ITER, /* !external set! number of simplex iterations */ - - /* copy instructions */ - I_COPIES_MAX, /* max number of copies possible */ - I_COPIES_INIT, /* !external set! number of copies in initial allocation */ - I_COPIES_HEUR, /* !external set! number of copies after heuristic */ - I_COPIES_OPT, /* !external set! number of copies after ilp */ - I_COPIES_IF, /* number of copies inevitable due to root-arg-interf */ - - ASIZE -}; - -/** - * Holds current values. Values are added till next copystat_reset - */ -int curr_vals[ASIZE]; +#include "bearch.h" +#include "bechordal_t.h" void copystat_init(void); void copystat_reset(void); -void copystat_collect_irg(ir_graph *irg, arch_env_t *arch_env); void copystat_collect_cls(be_chordal_env_t *chordal_env); +void copystat_add_max_costs(int costs); +void copystat_add_inevit_costs(int costs); +void copystat_add_init_costs(int costs); +void copystat_add_heur_costs(int costs); +void copystat_add_ilp_5_sec_costs(int costs); +void copystat_add_ilp_30_sec_costs(int costs); +void copystat_add_opt_costs(int costs); +void copystat_add_heur_time(int time); +void copystat_add_ilp_time(int time); +void copystat_add_ilp_vars(int vars); +void copystat_add_ilp_csts(int csts); +void copystat_add_ilp_iter(int iters); void copystat_dump(ir_graph *irg); void copystat_dump_pretty(ir_graph *irg); #else /* DO_STAT */ -#define copy_copystat_init(); +#define copystat_init(); #define copystat_reset(); -#define copystat_collect_irg(irg, arch_env); #define copystat_collect_cls(env); +#define copystat_add_max_costs(costs); +#define copystat_add_inevit_costs(costs); +#define copystat_add_init_costs(costs); +#define copystat_add_heur_costs(costs); +#define copystat_add_ilp_5_sec_costs(costs); +#define copystat_add_ilp_30_sec_costs(costs); +#define copystat_add_opt_costs(costs); +#define copystat_add_heur_time(time); +#define copystat_add_ilp_time(time); +#define copystat_add_ilp_vars(vars); +#define copystat_add_ilp_csts(csts); +#define copystat_add_ilp_iter(iters); #define copystat_dump(irg); #define copystat_dump(irg); #define copystat_dump_pretty(irg);