X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbearch.h;h=a3b2a252fcc9b79e4b27d77f3a9913a96c9670a8;hb=9bc8c6e3500cd526c3b278a47a354719280e4636;hp=c93ef30b3501fc9059e5ab06add854707bf8a518;hpb=4c66ebcce62ceffb68a891142dd309429e03351a;p=libfirm diff --git a/ir/be/bearch.h b/ir/be/bearch.h index c93ef30b3..a3b2a252f 100644 --- a/ir/be/bearch.h +++ b/ir/be/bearch.h @@ -155,14 +155,12 @@ typedef enum _arch_register_req_type_t { arch_register_req_type_limited = 2, /**< Only a real subset of the class is allowed. */ - arch_register_req_type_equal = 4, /**< The register must equal - another one at the node. */ + arch_register_req_type_should_be_same = 4, /**< The register should be equal + another one at the node. */ - arch_register_req_type_unequal = 8, /**< The register must be unequal - to some other at the node. */ + arch_register_req_type_should_be_different = 8, /**< The register must be unequal + to some other at the node. */ - arch_register_req_type_pair = 16 /**< The register is part of a - register pair. */ } arch_register_req_type_t; #define arch_register_req_is_constr(x) \ @@ -329,7 +327,7 @@ arch_get_irn_reg_class(const arch_env_t *env, const ir_node *irn, int pos); /** * Get the register allocated at a certain output operand of a node. - * @param env The arch nvironment. + * @param env The arch environment. * @param irn The node. * @return The register allocated for this operand */ @@ -386,6 +384,16 @@ struct _arch_irn_handler_t { */ struct _arch_code_generator_if_t { + + /** + * Initialize the code generator. + * @param file The file to dump to. + * @param irg The function to generate code for. + * @param env The architecture environment. + * @return A newly created code generator. + */ + void *(*init)(FILE *file, ir_graph *irg, const arch_env_t *env); + /** * Called, when the graph is being normalized. */ @@ -475,12 +483,11 @@ struct _arch_isa_if_t { const arch_irn_handler_t *(*get_irn_handler)(const void *self); /** - * Produce a new code generator. + * Get the code generator interface. * @param self The this pointer. - * @param irg The graph for which code shall be generated. - * @return A code generator. + * @return Some code generator interface. */ - arch_code_generator_t *(*make_code_generator)(void *self, ir_graph *irg); + const arch_code_generator_if_t *(*get_code_generator)(void *self); /** * Get the list scheduler to use.