summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJonas Haag <jonas@lophus.org>2015-12-18 16:18:39 +0100
committerPhilipp Serrer <philipp@serrer.de>2018-01-18 17:53:15 +0100
commit3047772906fabeeb86af9ecb98b0265857682e81 (patch)
tree7412aafbb8a4e83ecc9dd0042d2512ce7109a0eb
parentcef0d5900f7e610bde43801310b544f5b4dffb86 (diff)
Do not compute exec frequency of X_except blocks
-rw-r--r--ir/be/beblocksched.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/ir/be/beblocksched.c b/ir/be/beblocksched.c
index 25eb0b2..7b595cc 100644
--- a/ir/be/beblocksched.c
+++ b/ir/be/beblocksched.c
@@ -191,6 +191,12 @@ static void collect_egde_frequency(ir_node *block, void *data)
set_irn_link(block, entry);
int arity = get_Block_n_cfgpreds(block);
+ for (int i = 0; i < arity; ++i) {
+ ir_node *const cfgpred = get_Block_cfgpred(block, i);
+ if (is_x_except_branch(cfgpred))
+ return;
+ }
+
if (arity == 0) {
/* must be the start block, everything else is dead code and should be
* removed by now */