X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fana%2Fphiclass_t.h;h=5367c4de8a37c5af0d36e8448bad72347ef3f30b;hb=ad7dcd5e09ab2e082a395b7b26de2074b9be9320;hp=a019754db4b878ffcd6596c2c5f32fdbdc27df21;hpb=8cedf9d2c38f2a21a910f6652921a9158727dc4b;p=libfirm diff --git a/ir/ana/phiclass_t.h b/ir/ana/phiclass_t.h index a019754db..5367c4de8 100644 --- a/ir/ana/phiclass_t.h +++ b/ir/ana/phiclass_t.h @@ -1,7 +1,7 @@ /** * Analysis to conmpute phi congruence classes. * @author Daniel Grund - * @date 09.12.2004 + * @date 09.08.2005 */ #ifndef _BEPHICONGR_T_H @@ -10,35 +10,14 @@ #include "phiclass.h" typedef struct _phi_info_t { - ir_node *phi; /**< For all nodes of a phi class points to a phi node - representing the phi class and holding the ptr to - the pset phi_class or NULL */ - pset *phi_class; /**< Only set in phi nodes. A set containing the members - of the phi congruence class this phi node represents */ + pset *phi_class; /**< A set containing all members of the + phi congruence class of this irn */ } phi_info_t; extern size_t phi_irn_data_offset; #define get_irn_phi_info(irn) get_irn_data(irn, phi_info_t, phi_irn_data_offset) - -/** - * Setting this to 0 will treat const nodes like - * all other nodes when computing phi congruence classes. - * A non zero value results in splitting phi congruence - * classes at all const nodes (except they do share - * some non-const nodes too) - * - * If constants are localized this is irrelevant. Set to 0 in this case. - */ -#define CONSTS_SPLIT_PHI_CLASSES 0 - -/** - * Computes all phi classes of an irg. All phi nodes of this irg must be - * contained in @p all_phi_nodes. Otherwise the results will be incorrect. - * @param all_phi_nodes All phi nodes of an irg. - * @return A set containing all phi classes as psets - */ -pset *phi_class_compute_by_phis(pset *all_phi_nodes); - +#define _get_phi_class(irn) get_irn_phi_info(irn)->phi_class +#define _set_phi_class(irn,cls) get_irn_phi_info(irn)->phi_class = cls #endif