-/**
- * Add the new predecessor x to node node, which is either a Block or a Phi
- */
-static void add_pred(ir_node* node, ir_node* x)
-{
- ir_node** ins;
- int n;
- int i;
-
- assert(is_Block(node) || is_Phi(node));
-
- n = get_irn_arity(node);
- NEW_ARR_A(ir_node*, ins, n + 1);
- for (i = 0; i < n; i++)
- ins[i] = get_irn_n(node, i);
- ins[n] = x;
- set_irn_in(node, n + 1, ins);
-}
-
-/**
- * Remove the predecessor x from node node one time, which is either a Block or a Phi
- */
-static void remove_pred(ir_node* node, ir_node* x)
-{
- ir_node** ins;
- int n;
- int i, j;
-
- assert(is_Block(node) || is_Phi(node));
-
- n = get_irn_arity(node);
- NEW_ARR_A(ir_node*, ins, n - 1);
- for (i = 0, j = -1; i < n - 1; i++)
- {
- ins[++j] = get_irn_n(node, i);
- if(ins[i] == x) j--;
- }
- assert(i == j + 1 && "x is not a pred of node");
- set_irn_in(node, n - 1, ins);
-}