X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Firtypes.h;h=ac57335dd4b99b156949abd92d708636c7140cb2;hb=b4647d67ab7885d5da32c2a30242fbc4ed93d81b;hp=cfe604ae6a3d490d3a3a1e1c3f374bd09d904cac;hpb=43aca1df83b9862e00da7d604c09521a0aabe770;p=libfirm diff --git a/ir/ir/irtypes.h b/ir/ir/irtypes.h index cfe604ae6..ac57335dd 100644 --- a/ir/ir/irtypes.h +++ b/ir/ir/irtypes.h @@ -40,6 +40,7 @@ #include "irprog.h" #include "field_temperature.h" #include "irphase.h" +#include "bitset.h" #include "pset.h" #include "set.h" @@ -111,12 +112,12 @@ struct ir_mode { of all bits and must be dividable by vector_elem */ /* ----------------------------------------------------------------------- */ - tarval *min; /**< the minimum value that can be expressed */ - tarval *max; /**< the maximum value that can be expressed */ - tarval *null; /**< the value 0 */ - tarval *one; /**< the value 1 */ - tarval *minus_one; /**< the value -1 */ - tarval *all_one; /**< the value ~0 */ + ir_tarval *min; /**< the minimum value that can be expressed */ + ir_tarval *max; /**< the maximum value that can be expressed */ + ir_tarval *null; /**< the value 0 */ + ir_tarval *one; /**< the value 1 */ + ir_tarval *minus_one; /**< the value -1 */ + ir_tarval *all_one; /**< the value ~0 */ ir_mode *eq_signed; /**< For pointer modes, the equivalent signed integer one. */ ir_mode *eq_unsigned; /**< For pointer modes, the equivalent unsigned integer one. */ void *link; /**< To store some intermediate information */ @@ -154,8 +155,8 @@ typedef struct { ir_node ** in_cg; /**< array with predecessors in * interprocedural_view, if they differ * from intraprocedural predecessors */ - unsigned *backedge; /**< Raw Bitfield n set to true if pred n is backedge.*/ - unsigned *cg_backedge; /**< Raw Bitfield n set to true if pred n is interprocedural backedge. */ + bitset_t *backedge; /**< Bitfield n set to true if pred n is backedge.*/ + bitset_t *cg_backedge; /**< Bitfield n set to true if pred n is interprocedural backedge. */ ir_extblk *extblk; /**< The extended basic block this block belongs to. */ ir_region *region; /**< The immediate structural region this block belongs to. */ ir_entity *entity; /**< entitiy representing this block */ @@ -171,16 +172,14 @@ typedef struct { } cond_attr; /** Const attributes. */ -typedef struct { - tarval *tarval; /**< the target value */ - ir_type *tp; /**< the source type, for analyses. default: type_unknown. */ +typedef struct const_attr { + ir_tarval *tarval; /**< the target value */ } const_attr; /** SymConst attributes. */ typedef struct { symconst_symbol sym; // old tori symconst_kind kind; - ir_type *tp; /**< the source type, for analyses. default: type_unknown. */ } symconst_attr; /** Sel attributes. */ @@ -252,7 +251,7 @@ typedef struct { typedef struct { ir_node *next; /**< Points to the next Phi in the Phi list of a block. */ union { - unsigned *backedge; /**< Raw Bitfield: bit n is set to true if pred n is backedge. */ + bitset_t *backedge; /**< Raw Bitfield: bit n is set to true if pred n is backedge. */ int pos; /**< For Phi0. Used to remember the value defined by this Phi node. Needed when the Phi is completed to call get_r_internal_value() to find the