initial checkin for TEMPLATE backend
[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 pos;   /**<< in case of "should be same/different" we need to remember the pos to get the irn */
9 } TEMPLATE_register_req_t;
10
11
12 typedef struct _TEMPLATE_attr_t {
13         arch_irn_flags_t flags;     /**<< indicating if spillable, rematerializeable ... etc. */
14         int              n_res;     /**<< number of results for this node */
15
16         const TEMPLATE_register_req_t **in_req;  /**<< register requirements for arguments */
17         const TEMPLATE_register_req_t **out_req; /**<< register requirements for results */
18
19         const arch_register_t **slots;          /**<< register slots for assigned registers */
20 } TEMPLATE_attr_t;
21
22 #endif /* _TEMPLATE_NODES_ATTR_H_ */