finished 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 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         const arch_register_t **slots;          /**<< register slots for assigned registers */
21 } TEMPLATE_attr_t;
22
23 #endif /* _TEMPLATE_NODES_ATTR_H_ */