+exec_freq_t *create_execfreq(ir_graph *irg)
+{
+ exec_freq_t *execfreq = xmalloc(sizeof(execfreq[0]));
+ memset(execfreq, 0, sizeof(execfreq[0]));
+ execfreq->set = new_set(cmp_freq, 32);
+
+ memset(&execfreq->hook, 0, sizeof(execfreq->hook));
+ execfreq->hook.context = execfreq;
+ execfreq->hook.hook._hook_node_info = exec_freq_node_info;
+ register_hook(hook_node_info, &execfreq->hook);
+
+ return execfreq;
+}
+
+void set_execfreq(exec_freq_t *execfreq, const ir_node *block, double freq)
+{
+ freq_t *f = set_insert_freq(execfreq->set, block);
+ f->freq = freq;
+}
+