* with the Return, otherwise they are dead (because the Return leaves
* the graph, so no more users of the other nodes can exists.
*
* with the Return, otherwise they are dead (because the Return leaves
* the graph, so no more users of the other nodes can exists.
*
* comes from another block. In the later case, it is always possible
* to move the Return one block up, because the predecessor block must
* dominate the Return block (SSA) and then it dominates the predecessor
* comes from another block. In the later case, it is always possible
* to move the Return one block up, because the predecessor block must
* dominate the Return block (SSA) and then it dominates the predecessor
n = get_End_n_keepalives(end);
for (i = 0; i < n; ++i) {
if (get_End_keepalive(end, i) == phiM) {
n = get_End_n_keepalives(end);
for (i = 0; i < n; ++i) {
if (get_End_keepalive(end, i) == phiM) {
in[i] = final;
exchange(endbl, new_r_Block(irg, n_finals, in));
in[i] = final;
exchange(endbl, new_r_Block(irg, n_finals, in));