- new spillslots dump phase
[libfirm] / ir / be / TEMPLATE / TEMPLATE_nodes_attr.h
1 #ifndef _TEMPLATE_NODES_ATTR_H_
2 #define _TEMPLATE_NODES_ATTR_H_
3
4 #include "../bearch.h"
5
6 typedef struct _TEMPLATE_register_req_t {
7         const arch_register_req_t req;
8         int same_pos;        /**< in case of "should be same" we need to remember the pos to get the irn */
9         int different_pos;   /**< in case of "should be different" we need to remember the pos to get the irn */
10 } TEMPLATE_register_req_t;
11
12
13 typedef struct _TEMPLATE_attr_t {
14         arch_irn_flags_t flags;     /**< indicating if spillable, rematerializeable ... etc. */
15         int              n_res;     /**< number of results for this node */
16
17         const TEMPLATE_register_req_t **in_req;  /**< register requirements for arguments */
18         const TEMPLATE_register_req_t **out_req; /**< register requirements for results */
19
20         /* must be last, dynamically allocated */
21         const arch_register_t *slots[1];         /**< register slots for assigned registers */
22 } TEMPLATE_attr_t;
23
24 #endif /* _TEMPLATE_NODES_ATTR_H_ */