typedef struct arch_flag_t arch_flag_t;
typedef struct arch_inverse_t arch_inverse_t;
typedef struct arch_isa_if_t arch_isa_if_t;
-typedef struct arch_isa_t arch_isa_t;
typedef struct arch_env_t arch_env_t;
typedef struct arch_code_generator_t arch_code_generator_t;
typedef struct arch_code_generator_if_t arch_code_generator_if_t;
* Different types of register allocation requirements.
*/
typedef enum arch_register_req_type_t {
- arch_register_req_type_none = 0, /**< No register requirement. */
- arch_register_req_type_normal = 1, /**< All registers in the class are allowed. */
- arch_register_req_type_limited = 2, /**< Only a real subset of the class is allowed. */
- arch_register_req_type_should_be_same = 4, /**< The register should be equal to another one at the node. */
- arch_register_req_type_should_be_different = 8, /**< The register must be unequal from some other at the node. */
+ arch_register_req_type_none = 0, /**< No register requirement. */
+ arch_register_req_type_normal = 1, /**< All registers in the class are allowed. */
+ arch_register_req_type_limited = 2, /**< Only a real subset of the class is allowed. */
+ arch_register_req_type_should_be_same = 4, /**< The register should be equal to another one at the node. */
+ arch_register_req_type_must_be_different = 8, /**< The register must be unequal from some other at the node. */
} arch_register_req_type_t;
extern const arch_register_req_t *arch_no_register_req;
/**
* Get the register requirements for a node.
* @param env The architecture environment.
- * @param req A pointer to a requirements structure, where the data can
- * be put into.
* @param irn The node.
* @param pos The position of the operand you're interested in.
- * @return A pointer to the register requirements which may <b>not</b>
- * neccessarily be equal to @p req. If NULL is returned, the
+ * @return A pointer to the register requirements. If NULL is returned, the
* operand was no register operand.
*/
extern const arch_register_req_t *
* Set the register for a certain output operand.
* @param env The architecture environment.
* @param irn The node.
- * @param idx The index of the output operand.
* @param reg The register.
*/
extern void arch_set_irn_register(const arch_env_t *env, ir_node *irn,
* @param file_handle The file handle
* @return The environment.
*/
-extern arch_env_t *arch_env_init(arch_env_t *env, const arch_isa_if_t *isa,
+extern arch_env_t *arch_env_init(const arch_isa_if_t *isa,
FILE *file_handle, be_main_env_t *main_env);
/**