X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fana%2Fexecution_frequency.c;h=bc8972fe3501bddaf0b0b40cb9ba0b1a6f5dd734;hb=347c2c9107f3c3239bdc78fd48851e157f1f2bb9;hp=daa4a375c3f8c418459c314647fd92ebd57fb64a;hpb=fec84648cf126364c4cc1cc777ae49e38dab0138;p=libfirm diff --git a/ir/ana/execution_frequency.c b/ir/ana/execution_frequency.c index daa4a375c..bc8972fe3 100644 --- a/ir/ana/execution_frequency.c +++ b/ir/ana/execution_frequency.c @@ -18,6 +18,7 @@ #include "firm_common_t.h" #include "set.h" #include "pdeq.h" +#include "hashptr.h" #include "irprog_t.h" #include "irgraph_t.h" @@ -49,9 +50,8 @@ static int exec_freq_cmp(const void *e1, const void *e2, size_t size) { return (ef1->reg != ef2->reg); } -static INLINE unsigned int exec_freq_hash(void *e) { - unsigned int v = (unsigned int) ((reg_exec_freq *)e)->reg; - return v ^ (v>>8); +static INLINE unsigned int exec_freq_hash(reg_exec_freq *e) { + return HASH_PTR(e->reg); } static INLINE void set_region_exec_freq(void *reg, double freq) { @@ -222,7 +222,7 @@ static void walk_post(ir_node *n, void *env) { void precompute_cond_evaluation(void) { ir_node *c; - compute_outs(current_ir_graph); + compute_irg_outs(current_ir_graph); just_passed_a_Raise = 0; Cond_list = NULL; @@ -278,7 +278,7 @@ int is_fragile_Proj(ir_node *n) { static double exception_prob = 0.001; static INLINE int is_loop_head(ir_node *cond) { - return false; + return 0; } /** Weight a single region in edge.