create_abstraction() now returns an error code if the file could not
[libfirm] / ir / ana / phiclass_t.h
1 /**
2  * Analysis to conmpute phi congruence classes.
3  * @author Daniel Grund
4  * @date 09.08.2005
5  */
6
7 #ifndef _BEPHICONGR_T_H
8 #define _BEPHICONGR_T_H
9
10 #include "phiclass.h"
11
12 typedef struct _phi_info_t {
13         pset *phi_class;        /**< A set containing all members of the
14                                                         phi congruence class of this irn */
15 } phi_info_t;
16
17 extern size_t phi_irn_data_offset;
18
19 #define get_irn_phi_info(irn)   get_irn_data(irn, phi_info_t, phi_irn_data_offset)
20 #define _get_phi_class(irn)     get_irn_phi_info(irn)->phi_class
21 #define _set_phi_class(irn,cls) get_irn_phi_info(irn)->phi_class = cls
22
23 /**
24  * Computes all phi classes of an irg. All phi nodes of this irg must be
25  * contained in @p all_phi_nodes. Otherwise the results may be wrong.
26  * @param all_phi_nodes All phi nodes of an irg.
27  * @return A set containing all phi classes as psets
28  */
29 pset *phi_class_compute_by_phis(pset *all_phi_nodes);
30
31
32 #endif