X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Firmode_t.h;h=fc6cb6288527741e0051bc5b5aa4ef9ca1b700a9;hb=346dfddce9be4420855b06ea40d2bf21dad9bc88;hp=bbbf74d5bd96260812a31abd7b3ae1159beee94a;hpb=bfe8ba34271da860ca2efb011aefeb27fad4619d;p=libfirm diff --git a/ir/ir/irmode_t.h b/ir/ir/irmode_t.h index bbbf74d5b..fc6cb6288 100644 --- a/ir/ir/irmode_t.h +++ b/ir/ir/irmode_t.h @@ -34,7 +34,6 @@ struct ir_mode { (see irmode.h) */ mode_arithmetic arithmetic; /**< different arithmetic operations possible with a mode */ int size; /**< size of the mode in Bits. */ - int align; /**< byte alignment */ unsigned sign:1; /**< signedness of this mode */ unsigned int modulo_shift; /**< number of bits a valus of this mode will be shifted */ unsigned vector_elem; /**< if this is not equal 1, this is a vector mode with @@ -42,14 +41,15 @@ struct ir_mode { of all bits and must be dividable by vector_elem */ /* ----------------------------------------------------------------------- */ - tarval *min; - tarval *max; - tarval *null; - tarval *one; + 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 */ void *link; /**< To store some intermediate information */ const void *tv_priv; /**< tarval module will save private data here */ }; + /* ------------------------------- * * inline functions * * ------------------------------- */ @@ -83,9 +83,6 @@ __get_mode_size_bytes(const ir_mode *mode) { return size >> 3; } -static INLINE int -__get_mode_align(const ir_mode *mode) { return mode->align; } - static INLINE int __get_mode_sign(const ir_mode *mode) { return mode->sign; } @@ -213,31 +210,36 @@ __mode_is_int_vector(const ir_mode *mode) { return (__get_mode_sort(mode) == irms_int_number) && (__get_mode_vector_elems(mode) > 1); } -#define get_modeP_mach() __get_modeP_mach() -#define set_modeP_mach(p) __set_modeP_mach(p) -#define get_mode_modecode(mode) __get_mode_modecode(mode) -#define get_mode_ident(mode) __get_mode_ident(mode) -#define get_mode_sort(mode) __get_mode_sort(mode) -#define get_mode_size_bits(mode) __get_mode_size_bits(mode) -#define get_mode_size_bytes(mode) __get_mode_size_bytes(mode) -#define get_mode_align(mode) __get_mode_align(mode) -#define get_mode_sign(mode) __get_mode_sign(mode) -#define get_mode_arithmetic(mode) __get_mode_arithmetic(mode) -#define get_mode_modulo_shift(mode) __get_mode_modulo_shift(mode) -#define get_mode_vector_elems(mode) __get_mode_vector_elems(mode) -#define get_mode_link(mode) __get_mode_link(mode) -#define set_mode_link(mode, l) __set_mode_link(mode, l) -#define mode_is_signed(mode) __mode_is_signed(mode) -#define mode_is_float(mode) __mode_is_float(mode) -#define mode_is_int(mode) __mode_is_int(mode) -#define mode_is_character(mode) __mode_is_character(mode) -#define mode_is_reference(mode) __mode_is_reference(mode) -#define mode_is_num(mode) __mode_is_num(mode) -#define mode_is_numP(mode) __mode_is_numP(mode) -#define mode_is_data(mode) __mode_is_data(mode) -#define mode_is_datab(mode) __mode_is_datab(mode) -#define mode_is_dataM(mode) __mode_is_dataM(mode) -#define mode_is_float_vector(mode) __mode_is_float_vector(mode) -#define mode_is_int_vector(mode) __mode_is_int_vector(mode) +/** mode module initialization, call once before use of any other function **/ +void init_mode(void); + +/** mode module finalization. frees all memory. */ +void finish_mode(void); + +#define get_modeP_mach() __get_modeP_mach() +#define set_modeP_mach(p) __set_modeP_mach(p) +#define get_mode_modecode(mode) __get_mode_modecode(mode) +#define get_mode_ident(mode) __get_mode_ident(mode) +#define get_mode_sort(mode) __get_mode_sort(mode) +#define get_mode_size_bits(mode) __get_mode_size_bits(mode) +#define get_mode_size_bytes(mode) __get_mode_size_bytes(mode) +#define get_mode_sign(mode) __get_mode_sign(mode) +#define get_mode_arithmetic(mode) __get_mode_arithmetic(mode) +#define get_mode_modulo_shift(mode) __get_mode_modulo_shift(mode) +#define get_mode_n_vector_elems(mode) __get_mode_vector_elems(mode) +#define get_mode_link(mode) __get_mode_link(mode) +#define set_mode_link(mode, l) __set_mode_link(mode, l) +#define mode_is_signed(mode) __mode_is_signed(mode) +#define mode_is_float(mode) __mode_is_float(mode) +#define mode_is_int(mode) __mode_is_int(mode) +#define mode_is_character(mode) __mode_is_character(mode) +#define mode_is_reference(mode) __mode_is_reference(mode) +#define mode_is_num(mode) __mode_is_num(mode) +#define mode_is_numP(mode) __mode_is_numP(mode) +#define mode_is_data(mode) __mode_is_data(mode) +#define mode_is_datab(mode) __mode_is_datab(mode) +#define mode_is_dataM(mode) __mode_is_dataM(mode) +#define mode_is_float_vector(mode) __mode_is_float_vector(mode) +#define mode_is_int_vector(mode) __mode_is_int_vector(mode) #endif /* _IRMODE_T_H_ */