From ffccd4ed916876fb6985b549b286edb377cd1915 Mon Sep 17 00:00:00 2001 From: Christoph Mallon Date: Wed, 5 Dec 2012 14:42:54 +0100 Subject: [PATCH] cdep: Remove unnecessary end block test. The ipdom of each predecessor of the end block is the end block, so the subsequent loop does nothing. --- ir/ana/cdep.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/ir/ana/cdep.c b/ir/ana/cdep.c index d44e93361..88824e529 100644 --- a/ir/ana/cdep.c +++ b/ir/ana/cdep.c @@ -99,13 +99,9 @@ static void add_cdep(ir_node *node, ir_node *dep_on) */ static void cdep_pre(ir_node *node, void *ctx) { - ir_node *const end_block = (ir_node*)ctx; - int i; + (void)ctx; - /* Special case: The end block has no control dependency. */ - if (node == end_block) return; - - for (i = get_Block_n_cfgpreds(node) - 1; i >= 0; --i) { + for (int i = get_Block_n_cfgpreds(node); i-- != 0;) { ir_node *pred = get_Block_cfgpred_block(node, i); ir_node *pdom; ir_node *dependee; @@ -159,7 +155,7 @@ void compute_cdep(ir_graph *irg) ir_node *const rem = get_Block_ipostdom(start_block); set_Block_ipostdom(start_block, end_block); - irg_block_walk_graph(irg, cdep_pre, NULL, end_block); + irg_block_walk_graph(irg, cdep_pre, NULL, NULL); (void) cdep_edge_hook; -- 2.20.1