X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbepressurestat.c;h=ff234b0605788e33fab6371e432392809a13b70a;hb=cbe8608ae6f9a523d007919691104b444c92d004;hp=ac42cbe519b31dbb060361c045c620fb6b5a906d;hpb=049e7746fb729a28e90e69f02899c76c7b98b275;p=libfirm diff --git a/ir/be/bepressurestat.c b/ir/be/bepressurestat.c index ac42cbe51..ff234b060 100644 --- a/ir/be/bepressurestat.c +++ b/ir/be/bepressurestat.c @@ -24,9 +24,9 @@ * @date 06.04.2006 * @version $Id$ */ -#ifdef HAVE_CONFIG_H #include "config.h" -#endif + +#include "bepressurestat.h" #include @@ -43,44 +43,41 @@ #include "irnode_t.h" #include "ircons_t.h" #include "irloop_t.h" -#include "phiclass.h" #include "iredges.h" #include "execfreq.h" #include "irtools.h" #include "be_t.h" #include "belive_t.h" -#include "besched_t.h" +#include "besched.h" #include "beirgmod.h" -#include "bearch_t.h" -#include "benode_t.h" +#include "bearch.h" +#include "benode.h" #include "beutil.h" -#include "bespillremat.h" #include "bespill.h" -#include "beirg_t.h" +#include "beirg.h" #define MAXPRESSURE 128 typedef struct _regpressure_ana_t { - arch_env_t *arch_env; const arch_register_class_t *cls; const be_lv_t *lv; unsigned int *stat; DEBUG_ONLY(firm_dbg_module_t *dbg); } regpressure_ana_t; -static INLINE int has_reg_class(const regpressure_ana_t *ra, const ir_node *irn) +static inline int has_reg_class(const regpressure_ana_t *ra, const ir_node *irn) { - return arch_irn_consider_in_reg_alloc(ra->arch_env, ra->cls, irn); + return arch_irn_consider_in_reg_alloc(ra->cls, irn); } -static INLINE int regpressure(pset *live) { +static inline int regpressure(pset *live) +{ int pressure = pset_count(live); return MIN(pressure, MAXPRESSURE); } -static void -regpressureanawalker(ir_node *bb, void *data) +static void regpressureanawalker(ir_node *bb, void *data) { regpressure_ana_t *ra = data; pset *live = pset_new_ptr_default(); @@ -135,17 +132,16 @@ void be_analyze_regpressure(be_irg_t *birg, const arch_register_class_t *cls, co FIRM_DBG_REGISTER(ra.dbg, "firm.be.regpressureana"); - ra.arch_env = birg->main_env->arch_env; - ra.lv = be_get_birg_liveness(birg); - ra.cls = cls; - ra.stat = stat; + ra.lv = be_get_birg_liveness(birg); + ra.cls = cls; + ra.stat = stat; memset(stat, 0, sizeof(stat)); irg_block_walk_graph(irg, regpressureanawalker, NULL, &ra); for (i = 0; i <= MAXPRESSURE; ++i) { - fprintf(f, "%d\n", stat[i]); + fprintf(f, "%u\n", stat[i]); } fclose(f);