From 001c643d213b87d12b545ccc3a807f6c5f69fe88 Mon Sep 17 00:00:00 2001 From: Michael Beck Date: Thu, 30 Oct 2008 15:44:59 +0000 Subject: [PATCH] - reserve the IR_RESOURCE_PHI_LIST resource [r23312] --- ir/ir/irgmod.c | 2 ++ ir/opt/boolopt.c | 4 ++-- ir/opt/combo.c | 4 ++-- ir/opt/ifconv.c | 4 ++-- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/ir/ir/irgmod.c b/ir/ir/irgmod.c index 34a22abae..14fa706f3 100644 --- a/ir/ir/irgmod.c +++ b/ir/ir/irgmod.c @@ -164,6 +164,8 @@ static void clear_node_and_phis_links(ir_node *n, void *env) { } void collect_phiprojs(ir_graph *irg) { + assert(ir_resources_reserved(irg) & (IR_RESOURCE_IRN_LINK|IR_RESOURCE_PHI_LIST) == + (IR_RESOURCE_IRN_LINK|IR_RESOURCE_PHI_LIST)); irg_walk_graph(irg, clear_node_and_phis_links, collect_phiprojs_walker, NULL); } diff --git a/ir/opt/boolopt.c b/ir/opt/boolopt.c index 7c26f74b9..68878cb70 100644 --- a/ir/opt/boolopt.c +++ b/ir/opt/boolopt.c @@ -453,7 +453,7 @@ void opt_bool(ir_graph *const irg) { irg_walk_graph(irg, NULL, bool_walk, NULL); - ir_reserve_resources(irg, IR_RESOURCE_BLOCK_MARK); + ir_reserve_resources(irg, IR_RESOURCE_BLOCK_MARK | IR_RESOURCE_PHI_LIST); irg_walk_graph(irg, clear_block_infos, collect_phis, NULL); @@ -464,5 +464,5 @@ void opt_bool(ir_graph *const irg) set_irg_extblk_inconsistent(irg); set_irg_loopinfo_inconsistent(irg); - ir_free_resources(irg, IR_RESOURCE_BLOCK_MARK); + ir_free_resources(irg, IR_RESOURCE_BLOCK_MARK | IR_RESOURCE_PHI_LIST); } diff --git a/ir/opt/combo.c b/ir/opt/combo.c index 12185401c..8671ded9e 100644 --- a/ir/opt/combo.c +++ b/ir/opt/combo.c @@ -3491,7 +3491,7 @@ void combo(ir_graph *irg) { set_compute_functions(); DEBUG_ONLY(part_nr = 0); - ir_reserve_resources(irg, IR_RESOURCE_IRN_LINK); + ir_reserve_resources(irg, IR_RESOURCE_IRN_LINK | IR_RESOURCE_PHI_LIST); if (env.opt_unknown) tarval_UNKNOWN = tarval_top; @@ -3548,7 +3548,7 @@ void combo(ir_graph *irg) { set_irg_loopinfo_inconsistent(irg); } - ir_free_resources(irg, IR_RESOURCE_IRN_LINK); + ir_free_resources(irg, IR_RESOURCE_IRN_LINK | IR_RESOURCE_PHI_LIST); /* remove the partition hook */ DEBUG_ONLY(set_dump_node_vcgattr_hook(NULL)); diff --git a/ir/opt/ifconv.c b/ir/opt/ifconv.c index 63c709053..56e560799 100644 --- a/ir/opt/ifconv.c +++ b/ir/opt/ifconv.c @@ -535,13 +535,13 @@ void opt_if_conv(ir_graph *irg, const ir_settings_if_conv_t *params) compute_cdep(irg); assure_doms(irg); - ir_reserve_resources(irg, IR_RESOURCE_BLOCK_MARK); + ir_reserve_resources(irg, IR_RESOURCE_BLOCK_MARK | IR_RESOURCE_PHI_LIST); irg_block_walk_graph(irg, init_block_link, NULL, NULL); irg_walk_graph(irg, collect_phis, NULL, NULL); irg_block_walk_graph(irg, NULL, if_conv_walker, &p); - ir_free_resources(irg, IR_RESOURCE_BLOCK_MARK); + ir_free_resources(irg, IR_RESOURCE_BLOCK_MARK | IR_RESOURCE_PHI_LIST); local_optimize_graph(irg); -- 2.20.1