X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;ds=sidebyside;f=ir%2Fopt%2Fopt_blocks.c;h=7bb50db9b631d13f3d230387d595bf1cd1c6c420;hb=a80051123295ac42b0a56e0c1a563724a018c830;hp=a2a0452060f75ccefc4002b331fcb87642f6be07;hpb=e88385016800d3c56c3fa09770e9f7995c42e106;p=libfirm diff --git a/ir/opt/opt_blocks.c b/ir/opt/opt_blocks.c index a2a045206..7bb50db9b 100644 --- a/ir/opt/opt_blocks.c +++ b/ir/opt/opt_blocks.c @@ -155,7 +155,7 @@ typedef struct listmap_t { DEBUG_ONLY(static firm_dbg_module_t *dbg;) /** Next partition number. */ -DEBUG_ONLY(static unsigned part_nr = 0); +DEBUG_ONLY(static unsigned part_nr = 0;) #ifdef DEBUG_libfirm /** @@ -293,7 +293,7 @@ static partition_t *create_partition(ir_node *meet_block, environment_t *env) INIT_LIST_HEAD(&part->blocks); part->meet_block = meet_block; part->n_blocks = 0; - DEBUG_ONLY(part->nr = part_nr++); + DEBUG_ONLY(part->nr = part_nr++;) list_add_tail(&part->part_list, &env->partitions); return part; } /* create_partition */ @@ -735,7 +735,7 @@ static void apply(ir_graph *irg, partition_t *part) ir_node **ins, **phi_ins; phi_t *repr_phi, *phi; pair_t *repr_pair, *pair; - int i, j, k, n, block_nr, n_phis; + int i, j, k, n, n_phis; list_del(&repr->block_list); @@ -769,10 +769,8 @@ static void apply(ir_graph *irg, partition_t *part) /* collect new in arrays */ end = get_irg_end(irg); - block_nr = 0; list_for_each_entry(block_t, bl, &part->blocks, block_list) { block = bl->block; - ++block_nr; DB((dbg, LEVEL_1, "%+F, ", block)); @@ -1074,7 +1072,7 @@ static void find_liveouts(ir_node *irn, void *ctx) } /* find_liveouts */ /** - * Check if the current block is the meet block of a its predecessors. + * Check if the current block is the meet block of its predecessors. */ static void check_for_cf_meet(ir_node *block, void *ctx) { @@ -1098,16 +1096,14 @@ static void check_for_cf_meet(ir_node *block, void *ctx) k = 0; for (i = n - 1; i >= 0; --i) { ir_node *pred = get_Block_cfgpred(block, i); - ir_node *pred_block; /* pred must be a direct jump to us */ if (! is_Jmp(pred) && ! is_Raise(pred) && !is_Bad(pred)) continue; - pred_block = get_nodes_block(skip_Proj(pred)); - preds[k].pred = pred; preds[k].index = i; + ++k; } if (k > 1) @@ -1207,7 +1203,7 @@ int shape_blocks(ir_graph *irg) /* register a debug mask */ FIRM_DBG_REGISTER(dbg, "firm.opt.blocks"); - DEBUG_ONLY(part_nr = 0); + DEBUG_ONLY(part_nr = 0;) DB((dbg, LEVEL_1, "Shaping blocks for %+F\n", irg)); /* works better, when returns are placed at the end of the blocks */ @@ -1265,10 +1261,8 @@ int shape_blocks(ir_graph *irg) if (res) { /* control flow changed */ - set_irg_outs_inconsistent(irg); set_irg_extblk_inconsistent(irg); - set_irg_doms_inconsistent(irg); - set_irg_loopinfo_inconsistent(irg); + clear_irg_state(irg, IR_GRAPH_STATE_CONSISTENT_DOMINANCE); /* Calls might be removed. */ set_trouts_inconsistent();