#include "irprog.h"
#include "field_temperature.h"
#include "irphase.h"
+#include "bitset.h"
#include "pset.h"
#include "set.h"
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 */
/* Attributes private to construction: */
unsigned is_matured:1; /**< If set, all in-nodes of the block are fixed. */
unsigned is_dead:1; /**< If set, the block is dead (and could be replace by a Bad. */
- unsigned is_mb_head:1; /**< Set if this block is a macroblock head. */
unsigned marked:1; /**< Can be set/unset to temporary mark a block. */
ir_node **graph_arr; /**< An array to store all parameters. */
/* Attributes holding analyses information */
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. */
- unsigned mb_depth; /**< The macroblock depth: A distance from the macroblock header */
ir_entity *entity; /**< entitiy representing this block */
ir_node *phis; /**< The list of Phi nodes in this block. */
} 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. */
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