#include "firm_common_t.h"
#include "set.h"
#include "hashptr.h"
+#include "debug.h"
#include "irprog_t.h"
#include "irgraph_t.h"
{
const freq_t *p = a;
const freq_t *q = b;
+ (void) size;
return !(p->irn == q->irn);
}
execfreq->hook.context = execfreq;
execfreq->hook.hook._hook_node_info = exec_freq_node_info;
register_hook(hook_node_info, &execfreq->hook);
+ (void) irg;
return execfreq;
}
freqs = ef->set = new_set(cmp_freq, 32);
construct_cf_backedges(irg);
- edges_assure(irg);
+ /* TODO: edges are corrupt for EDGE_KIND_BLOCK after the local optimize
+ graph phase merges blocks in the x86 backend */
+ edges_deactivate(irg);
+ edges_activate(irg);
+ /* edges_assure(irg); */
wd.idx = 0;
wd.set = freqs;
x = solve_lgs(matrix, rhs, size);
if (x == NULL) {
+ DEBUG_ONLY(ir_fprintf(stderr, "Debug Warning: Couldn't estimate execution frequencies for %+F\n", irg));
ef->infeasible = 1;
} else {
ef->max = 0.0;