-}
-
-void be_ssa_constr_single_ignore(dom_front_info_t *info, ir_node *orig, int n, ir_node *copies[], pset *ignore_uses)
-{
- ir_node *origs[1];
- origs[0] = orig;
- be_ssa_constr_ignore(info, 1, origs, n, copies, ignore_uses);
-}
-
-void be_ssa_constr_ignore(dom_front_info_t *info, int n_origs, ir_node *orig_nodes[],
- int n_copies, ir_node *copy_nodes[], pset *ignore_uses)
-{
- int n_all = n_copies + n_origs;
- pset *copies = pset_new_ptr(2 * n_all);
- pset *copy_blocks = pset_new_ptr(2 * n_all);
- pset *phi_blocks = pset_new_ptr(2 * n_all);
- int save_optimize = get_optimize();
- int save_normalize = get_opt_normalize();
- firm_dbg_module_t *dbg = DBG_MODULE;
-
- int i;
-
- firm_dbg_set_mask(dbg, DBG_LEVEL);
- // DBG((dbg, LEVEL_1, "Introducing following copies of %+F\n", orig));
-
- /* Fill the sets. */
- for(i = 0; i < n_origs; ++i) {
- pset_insert_ptr(copies, orig_nodes[i]);
- pset_insert_ptr(copy_blocks, get_nodes_block(orig_nodes[i]));
- }
-
- /*
- * All phis using the original values are also copies of it
- * and must be present in the copies set.
- */
- for(i = 0; i < n_copies; ++i) {
- ir_node *bl = get_nodes_block(copy_nodes[i]);
- DBG((dbg, LEVEL_1, "\t%+F in block %+F\n", copy_nodes[i], bl));
- pset_insert_ptr(copies, copy_nodes[i]);
- pset_insert_ptr(copy_blocks, get_nodes_block(bl));
+ ir_free_resources(irg, IR_RESOURCE_IRN_VISITED);
+
+ if (blocks_removed) {
+ /* invalidate analysis info */
+ set_irg_doms_inconsistent(irg);
+ set_irg_extblk_inconsistent(irg);
+ set_irg_outs_inconsistent(irg);
+ set_irg_loopinfo_inconsistent(irg);