summaryrefslogtreecommitdiffhomepage
path: root/ir/be/bearch.h
diff options
context:
space:
mode:
authorChristoph Mallon <mallon@cs.uni-saarland.de>2015-01-16 13:35:53 +0100
committerChristoph Mallon <mallon@cs.uni-saarland.de>2015-01-18 11:21:07 +0100
commit634830b6d4b9e339a33a0fd65cab0d828755848a (patch)
tree413272de97d43eee01905128a85173f157387433 /ir/be/bearch.h
parent1289d1b6a61462bcdf9ac3d64ac484e0d728e474 (diff)
be: Move the info about the register classes and registers struct the arch_env_t into struct arch_isa_if_t.
Diffstat (limited to 'ir/be/bearch.h')
-rw-r--r--ir/be/bearch.h18
1 files changed, 8 insertions, 10 deletions
diff --git a/ir/be/bearch.h b/ir/be/bearch.h
index d6173b7..1959342 100644
--- a/ir/be/bearch.h
+++ b/ir/be/bearch.h
@@ -301,6 +301,11 @@ struct arch_irn_ops_t {
* Architecture interface.
*/
struct arch_isa_if_t {
+ unsigned n_registers; /**< number of registers */
+ arch_register_t const *registers; /**< register array */
+ unsigned n_register_classes; /**< number of register classes */
+ arch_register_class_t const *register_classes; /**< register classes */
+
/**
* Initializes the isa interface. This is necessary before calling any
* other functions from this interface.
@@ -394,14 +399,8 @@ struct arch_isa_if_t {
* ISA base class.
*/
struct arch_env_t {
- unsigned n_registers; /**< number of registers */
- const arch_register_t *registers; /**< register array */
- /** number of register classes*/
- unsigned n_register_classes;
- /** register classes */
- const arch_register_class_t *register_classes;
- unsigned spill_cost; /**< cost for a be_Spill node */
- unsigned reload_cost; /**< cost for a be_Reload node */
+ unsigned spill_cost; /**< cost for a be_Spill node */
+ unsigned reload_cost; /**< cost for a be_Reload node */
};
static inline bool arch_irn_is_ignore(const ir_node *irn)
@@ -417,8 +416,7 @@ static inline bool arch_irn_consider_in_reg_alloc(
return req->cls == cls && !arch_register_req_is(req, ignore);
}
-const arch_register_t *arch_find_register(const arch_env_t *arch_env,
- const char *name);
+arch_register_t const *arch_find_register(char const *name);
#define be_foreach_value(node, value, code) \
do { \