+ for(i = 0; i < n; ++i)
+ pset_insert_ptr(irns, nodes[i]);
+ be_ssa_constr_set_phis_ignore(info, lv, irns, phis, ignore_uses);
+ del_pset(irns);
+}
+
+void be_ssa_constr_ignore(be_dom_front_info_t *info, be_lv_t *lv, int n, ir_node *nodes[], pset *ignore_uses)
+{
+ be_ssa_constr_phis_ignore(info, lv, n, nodes, NULL, ignore_uses);
+}
+
+void be_ssa_constr(be_dom_front_info_t *info, be_lv_t *lv, int n, ir_node *nodes[])
+{
+ pset *empty_set = be_empty_set();
+ be_ssa_constr_ignore(info, lv, n, nodes, empty_set);
+}
+
+void be_ssa_constr_set_phis_ignore(be_dom_front_info_t *df, be_lv_t *lv, pset *nodes, pset *phis, pset *ignore_uses)
+{
+ int n = pset_count(nodes);
+ pset *blocks = pset_new_ptr(n);
+ pset *phi_blocks = pset_new_ptr(n);
+ int save_optimize = get_optimize();
+ int save_normalize = get_opt_normalize();
+ int phis_set_created = 0;
+ FIRM_DBG_REGISTER(firm_dbg_module_t *dbg, DBG_MODULE);
+
+ ir_node *irn;
+
+ /* We need to collect the phi functions to compute their liveness. */
+ if(lv && !phis) {
+ phis_set_created = 1;
+ phis = pset_new_ptr_default();
+ }