Lines Matching defs:phi

133   tree phi;
148 phi = free_phinodes[bucket];
156 phi = ggc_alloc (size);
164 return phi;
206 tree phi;
211 phi = allocate_phi_node (capacity);
216 memset (phi, 0, (sizeof (struct tree_phi_node) - sizeof (struct phi_arg_d)
218 TREE_SET_CODE (phi, PHI_NODE);
219 PHI_NUM_ARGS (phi) = len;
220 PHI_ARG_CAPACITY (phi) = capacity;
221 TREE_TYPE (phi) = TREE_TYPE (var);
223 SET_PHI_RESULT (phi, var);
225 SET_PHI_RESULT (phi, make_ssa_name (var, phi));
230 imm = &(PHI_ARG_IMM_USE_NODE (phi, i));
231 imm->use = &(PHI_ARG_DEF_TREE (phi, i));
234 imm->stmt = phi;
236 return phi;
242 release_phi_node (tree phi)
245 int len = PHI_ARG_CAPACITY (phi);
248 for (x = 0; x < PHI_NUM_ARGS (phi); x++)
251 imm = &(PHI_ARG_IMM_USE_NODE (phi, x));
257 PHI_CHAIN (phi) = free_phinodes[bucket];
258 free_phinodes[bucket] = phi;
263 possibly relocated phi. */
266 resize_phi_node (tree *phi, int len)
271 gcc_assert (len > PHI_ARG_CAPACITY (*phi));
277 + (PHI_NUM_ARGS (*phi) - 1) * sizeof (struct phi_arg_d));
281 memcpy (new_phi, *phi, old_size);
287 old_imm = &(PHI_ARG_IMM_USE_NODE (*phi, i));
305 *phi = new_phi;
327 /* The result of the phi is defined by this phi node. */
351 tree phi;
353 phi = make_phi_node (var, EDGE_COUNT (bb->preds));
356 PHI_CHAIN (phi) = phi_nodes (bb);
357 bb->phi_nodes = phi;
360 set_bb_for_stmt (phi, bb);
362 return phi;
369 PHI points to the reallocated phi node when we return. */
372 add_phi_arg (tree phi, tree def, edge e)
376 gcc_assert (bb == bb_for_stmt (phi));
380 gcc_assert (PHI_NUM_ARGS (phi) <= PHI_ARG_CAPACITY (phi));
384 gcc_assert (e->dest_idx < (unsigned int) PHI_NUM_ARGS (phi));
391 SSA_NAME_OCCURS_IN_ABNORMAL_PHI (PHI_RESULT (phi)) = 1;
394 SET_PHI_ARG_DEF (phi, e->dest_idx, def);
403 remove_phi_arg_num (tree phi, int i)
405 int num_elem = PHI_NUM_ARGS (phi);
411 delink_imm_use (&(PHI_ARG_IMM_USE_NODE (phi, i)));
418 old_p = &PHI_ARG_IMM_USE_NODE (phi, num_elem - 1);
419 new_p = &PHI_ARG_IMM_USE_NODE (phi, i);
428 PHI_NUM_ARGS (phi)--;
436 tree phi;
438 for (phi = phi_nodes (e->dest); phi; phi = PHI_CHAIN (phi))
439 remove_phi_arg_num (phi, e->dest_idx);
446 remove_phi_node (tree phi, tree prev)
456 for (loc = &(bb_for_stmt (phi)->phi_nodes);
457 *loc != phi;
463 *loc = PHI_CHAIN (phi);
467 release_phi_node (phi);
468 release_ssa_name (PHI_RESULT (phi));
476 phi_reverse (tree phi)
479 for (; phi; phi = next)
481 next = PHI_CHAIN (phi);
482 PHI_CHAIN (phi) = prev;
483 prev = phi;