summaryrefslogtreecommitdiffhomepage
path: root/ir/be/beirg.h
diff options
context:
space:
mode:
authorMatthias Braun <matze@braunis.de>2010-10-08 16:02:20 +0200
committerMatthias Braun <matze@braunis.de>2010-10-08 16:02:20 +0200
commitb4647d67ab7885d5da32c2a30242fbc4ed93d81b (patch)
treece437af4bd952e3b704618d0fd7cb224833c83c1 /ir/be/beirg.h
parent6c3146b96bc65d9de18f3f2b59faf33b8b9935d6 (diff)
backend: put ignore regs into beirg
[r28072]
Diffstat (limited to 'ir/be/beirg.h')
-rw-r--r--ir/be/beirg.h26
1 files changed, 14 insertions, 12 deletions
diff --git a/ir/be/beirg.h b/ir/be/beirg.h
index 6f3360f..a3f9e5f 100644
--- a/ir/be/beirg.h
+++ b/ir/be/beirg.h
@@ -56,18 +56,18 @@ void be_free_birg(ir_graph *irg);
* - frame_type: A class type describing the frame layout.
*/
struct be_stack_layout_t {
- ir_type *arg_type; /**< A type describing the stack argument layout. */
- ir_type *between_type; /**< A type describing the "between" layout. */
- ir_type *frame_type; /**< The frame type. */
-
- ir_type *order[N_FRAME_TYPES]; /**< arg, between and frame types ordered. */
-
- ir_entity **param_map; /**< An array mapping type parameters to arg_type entries */
- int initial_offset; /**< the initial difference between stack pointer and frame pointer */
- int initial_bias; /**< the initial stack bias */
- int stack_dir; /**< -1 for decreasing, 1 for increasing. */
- bool sp_relative : 1; /**< entities are addressed relative to
- stack pointer (omit-fp mode) */
+ ir_type *arg_type; /**< A type describing the stack argument layout. */
+ ir_type *between_type; /**< A type describing the "between" layout. */
+ ir_type *frame_type; /**< The frame type. */
+
+ ir_type *order[N_FRAME_TYPES]; /**< arg, between and frame types ordered. */
+
+ ir_entity **param_map; /**< An array mapping type parameters to arg_type entries */
+ int initial_offset; /**< the initial difference between stack pointer and frame pointer */
+ int initial_bias; /**< the initial stack bias */
+ int stack_dir; /**< -1 for decreasing, 1 for increasing. */
+ bool sp_relative : 1; /**< entities are addressed relative to
+ stack pointer (omit-fp mode) */
};
/**
@@ -82,6 +82,8 @@ typedef struct be_irg_t {
be_dom_front_info_t *dom_front;
be_lv_t *lv;
be_stack_layout_t stack_layout;
+ unsigned *allocatable_regs; /**< registers available for the
+ allocator */
arch_register_req_t *sp_req; /**< requirements for stackpointer producing
nodes. */
struct obstack obst; /**< birg obstack (mainly used to keep