- phi = get_Block_phis(block);
- if (phi != NULL) {
- do {
- ir_node *next = get_Phi_next(phi);
- if (get_irn_arity(phi) != new_max) {
- ir_node *new_phi;
-
- for (i = j = 0; i < max; ++i) {
- ir_node *block_pred = get_irn_n(block, i);
-
- if (!is_Bad(block_pred)) {
- ir_node *pred = get_irn_n(phi, i);
- new_in[j++] = pred;
- }
- }
- assert(j == new_max);
-
- new_phi = new_r_Phi(new_block, new_max, new_in, get_irn_mode(phi));
- exchange(phi, new_phi);
+ for (phi = get_Block_phis(block); phi != NULL; phi = next) {
+ ir_node *new_phi;
+
+ next = get_Phi_next(phi);
+ assert(get_irn_arity(phi) == max);
+
+ for (i = j = 0; i < max; ++i) {
+ ir_node *const block_pred = get_Block_cfgpred(block, i);
+ if (!is_Bad(block_pred)) {
+ ir_node *pred = get_irn_n(phi, i);
+ new_in[j++] = pred;