X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbearch.h;h=d82889d99fc8e4adbb62ec47aebde0049575c3ff;hb=dd4cd761ab637d4488c7e29f49843b1b02366acf;hp=4b0d187e4559eeabfe96f86e37e11a5f9cbece87;hpb=78680bc76e5e6d7c8a63390fefdf085b342d1b6d;p=libfirm diff --git a/ir/be/bearch.h b/ir/be/bearch.h index 4b0d187e4..d82889d99 100644 --- a/ir/be/bearch.h +++ b/ir/be/bearch.h @@ -48,32 +48,24 @@ typedef enum arch_register_class_flags_t { } arch_register_class_flags_t; typedef enum arch_register_type_t { - arch_register_type_none = 0, + arch_register_type_none = 0, arch_register_type_caller_save = 1, /**< The register must be saved by the caller - upon a function call. It thus can be overwritten - in the called function. */ + upon a function call. It thus can be overwritten + in the called function. */ arch_register_type_callee_save = 2, /**< The register must be saved by the caller - upon a function call. It thus can be overwritten - in the called function. */ + upon a function call. It thus can be overwritten + in the called function. */ arch_register_type_ignore = 4, /**< Do not consider this register when allocating. */ arch_register_type_joker = 8, /**< The emitter can choose an arbitrary register */ arch_register_type_virtual = 16, /**< This is just a virtual register.Virtual registers have - nearly no constraints, it is a allowed to have multiple - definition for the same register at a point) */ + nearly no constraints, it is a allowed to have multiple + definition for the same register at a point) */ arch_register_type_state = 32, /**< The register represents a state that should be handled by bestate code */ } arch_register_type_t; -/** - * Put all registers in a class into a bitset. - * @param cls The class. - * @param bs The bitset. May be NULL. - * @return The number of registers in the class. - */ -extern int arch_register_class_put(const arch_register_class_t *cls, bitset_t *bs); - typedef enum arch_operand_type_t { - arch_operand_type_invalid, + arch_operand_type_invalid, arch_operand_type_memory, arch_operand_type_register, arch_operand_type_immediate, @@ -110,13 +102,14 @@ typedef enum arch_irn_class_t { arch_irn_class_normal = 1 << 0, arch_irn_class_spill = 1 << 1, arch_irn_class_reload = 1 << 2, - arch_irn_class_copy = 1 << 3, - arch_irn_class_perm = 1 << 4, - arch_irn_class_branch = 1 << 5, - arch_irn_class_call = 1 << 6, - arch_irn_class_load = 1 << 7, - arch_irn_class_store = 1 << 8, - arch_irn_class_stackparam = 1 << 9, + arch_irn_class_remat = 1 << 3, + arch_irn_class_copy = 1 << 4, + arch_irn_class_perm = 1 << 5, + arch_irn_class_branch = 1 << 6, + arch_irn_class_call = 1 << 7, + arch_irn_class_load = 1 << 8, + arch_irn_class_store = 1 << 9, + arch_irn_class_stackparam = 1 << 10, } arch_irn_class_t; /** @@ -181,7 +174,7 @@ extern int arch_is_register_operand(const arch_env_t *env, * a register class for an operand of a node. * @param env The environment. * @param irn The node. - * @param pos The postition of the node's operand. + * @param pos The position of the node's operand. * @param bs The bitset all allocatable registers shall be put into. * Note, that you can also pass NULL here. If you don't, * make sure, the bitset is as large as the register class @@ -237,7 +230,7 @@ arch_get_irn_register(const arch_env_t *env, const ir_node *irn); * @param reg The register. */ extern void arch_set_irn_register(const arch_env_t *env, ir_node *irn, - const arch_register_t *reg); + const arch_register_t *reg); /** * Classify a node.