#### 12.8.24 `GIMPLE_PHI`

GIMPLE function: unsigned gimple_phi_capacity (gimple g)

  Return the maximum number of arguments supported by `GIMPLE_PHI` `G`.

GIMPLE function: unsigned gimple_phi_num_args (gimple g)

  Return the number of arguments in `GIMPLE_PHI` `G`. This must always be exactly the number of incoming edges for the basic block holding `G`.

GIMPLE function: tree gimple_phi_result (gimple g)

  Return the `SSA` name created by `GIMPLE_PHI` `G`.

GIMPLE function: tree * gimple_phi_result_ptr (gimple g)

  Return a pointer to the `SSA` name created by `GIMPLE_PHI` `G`.

GIMPLE function: void gimple_phi_set_result (gphi *g, tree result)

  Set `RESULT` to be the `SSA` name created by `GIMPLE_PHI` `G`.

GIMPLE function: struct phi_arg_d * gimple_phi_arg (gimple g, index)

  Return the `PHI` argument corresponding to incoming edge `INDEX` for `GIMPLE_PHI` `G`.

GIMPLE function: void gimple_phi_set_arg (gphi *g, index, struct phi_arg_d * phiarg)

  Set `PHIARG` to be the argument corresponding to incoming edge `INDEX` for `GIMPLE_PHI` `G`.