X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=include%2Flibfirm%2Firmode.h;h=8e4488f970d4ed785f032a5450aff23c85f8c278;hb=63dd9d13d956f37619a42d38ebf404c4d39f3c5d;hp=769fd0f4e47051c56e6276f3d1dd6927328c27de;hpb=17dd11192f8a80c43bb7ec3e470b8764a842ce60;p=libfirm diff --git a/include/libfirm/irmode.h b/include/libfirm/irmode.h index 769fd0f4e..8e4488f97 100644 --- a/include/libfirm/irmode.h +++ b/include/libfirm/irmode.h @@ -59,12 +59,10 @@ typedef enum { /* irm is short for `ir mode' */ irm_Lu, /**< unsigned long(64) */ irm_LLs, /**< signed long long(128) */ irm_LLu, /**< unsigned long long(128) */ - irm_C, /**< character */ irm_P, /**< pointer */ irm_b, /**< internal boolean */ irm_M, /**< memory */ irm_T, /**< tuple */ - irm_U, /**< unicode character */ irm_ANY, /**< undefined mode */ irm_BAD, /**< bad mode */ irm_max /**< maximum value for modecode */ @@ -86,8 +84,6 @@ typedef enum { Floating point computations can be performed. */ irms_reference, /**< A mode to represent entities. Restricted int computations can be performed */ - irms_character /**< A mode to represent characters/symbols - ?? Are computations allowed? as int?? */ } mode_sort; /** These values represent the different arithmetic operations possible with a mode. @@ -199,7 +195,7 @@ int get_mode_size_bytes(const ir_mode *mode); int get_mode_sign(const ir_mode *mode); /** Returns the arithmetic of a mode */ -int get_mode_arithmetic(const ir_mode *mode); +mode_arithmetic get_mode_arithmetic(const ir_mode *mode); /** Get the modulo shift attribute. * @@ -299,9 +295,6 @@ extern ir_mode *mode_Lu; /**< unsigned long integer */ extern ir_mode *mode_LLs; /**< signed long long integer */ extern ir_mode *mode_LLu; /**< unsigned long long integer */ -extern ir_mode *mode_C; /**< 8 bit char */ -extern ir_mode *mode_U; /**< 16 bit unicode char */ - extern ir_mode *mode_P; /**< pointer */ extern ir_mode *mode_P_code; /**< A pointer mode that is set by the client of libfirm. This mode represents the pointer size of the target machine code addresses. Is initialized @@ -335,8 +328,6 @@ ir_mode *get_modeLs(void); ir_mode *get_modeLu(void); ir_mode *get_modeLLs(void); ir_mode *get_modeLLu(void); -ir_mode *get_modeC(void); -ir_mode *get_modeU(void); ir_mode *get_modeP(void); ir_mode *get_modeb(void); ir_mode *get_modeX(void); @@ -366,7 +357,7 @@ void set_modeP_data(ir_mode *p); /** Functions to check, whether a modecode is signed, float, int, character, - reference, num, numP, data, datab or dataM. + reference, num, data, datab or dataM. For more exact definitions read the corresponding pages in the firm documentation or the following enumeration @@ -377,20 +368,14 @@ void set_modeP_data(ir_mode *p); The set of "int" is defined as: int = {irm_Bs, irm_Bu, irm_Hs, irm_Hu, irm_Is, irm_Iu, irm_Ls, irm_Lu} - The set of "character" is defined as: - character = {irm_C, irm_U} - The set of "reference" is defined as: reference = {irm_P} The set of "num" is defined as: num = {float || int} - The set of "numP" is defined as: - numP = {float || int || reference} - The set of "data" is defined as: - data = {num || character || reference} + data = {num || reference} The set of "datab" is defined as: datab = {data || irm_b } @@ -405,10 +390,8 @@ void set_modeP_data(ir_mode *p); int mode_is_signed (const ir_mode *mode); int mode_is_float (const ir_mode *mode); int mode_is_int (const ir_mode *mode); -int mode_is_character (const ir_mode *mode); int mode_is_reference (const ir_mode *mode); int mode_is_num (const ir_mode *mode); -int mode_is_numP (const ir_mode *mode); int mode_is_data (const ir_mode *mode); int mode_is_datab (const ir_mode *mode); int mode_is_dataM (const ir_mode *mode); @@ -416,7 +399,7 @@ int mode_is_float_vector (const ir_mode *mode); int mode_is_int_vector (const ir_mode *mode); /** Returns true if sm can be converted to lm without loss - according to firm definiton */ + according to firm definition */ int smaller_mode(const ir_mode *sm, const ir_mode *lm); /**