From fc2759fa267ba4b074c2ac570c1b9d47cc943612 Mon Sep 17 00:00:00 2001 From: Christoph Mallon Date: Wed, 24 Sep 2008 09:28:01 +0000 Subject: [PATCH] Do not forcefully rebuild outedges in compute_execfreq(), but handle this at the caller site if necessary. [r22231] --- ir/ana/execfreq.c | 6 +----- ir/be/bemain.c | 6 +++++- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ir/ana/execfreq.c b/ir/ana/execfreq.c index fbf0033ec..37ce2d960 100644 --- a/ir/ana/execfreq.c +++ b/ir/ana/execfreq.c @@ -271,11 +271,7 @@ compute_execfreq(ir_graph * irg, double loop_weight) irg_block_walk_graph(irg, collect_blocks, NULL, freqs); construct_cf_backedges(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); */ + edges_assure(irg); size = dfs_get_n_nodes(dfs); mat = gs_new_matrix(size, size); diff --git a/ir/be/bemain.c b/ir/be/bemain.c index e41b4d958..23e0261de 100644 --- a/ir/be/bemain.c +++ b/ir/be/bemain.c @@ -689,8 +689,12 @@ static void be_main_loop(FILE *file_handle, const char *cup_name) */ if (ir_profile_has_data()) birg->exec_freq = ir_create_execfreqs_from_profile(irg); - else + else { + /* TODO: edges are corrupt for EDGE_KIND_BLOCK after the local + * optimize graph phase merges blocks in the x86 backend */ + edges_deactivate(irg); birg->exec_freq = compute_execfreq(irg, 10); + } BE_TIMER_POP(t_execfreq); -- 2.20.1