2 * Analysis to compute phi congruence classes.
15 * Initialize data structures
17 void phi_class_init(void);
20 * Computes all phi classes of an irg.
21 * @param irg The ir-graph to compute the classes for.
22 * @return Sets the internal data structures.
24 void phi_class_compute(ir_graph *irg);
27 * Computes all phi classes of an irg. All phi nodes of this irg must be
28 * contained in @p all_phi_nodes. Otherwise the results may be wrong.
29 * @param all_phi_nodes All phi nodes of an irg.
30 * @return A set containing all phi classes as psets
32 pset *phi_class_compute_by_phis(pset *all_phi_nodes);
35 * Throws away all allocated memory for phi classes of an irg.
36 * @param irg The ir-graph to free recources for.
37 * @return Frees the internal data structures.
39 void phi_class_free(ir_graph *irg);
42 * @param irn A node to get the phi class for
43 * @return A pset containing all members of the phi class @p irn belongs to.
44 * If @p irn is not member of a phi class NULL is returned.
46 pset *get_phi_class(const ir_node *irn);