Add get_reg_class_alignment() implementation
[libfirm] / ir / be / arm / arm_nodes_attr.h
1 #ifndef _ARM_NODES_ATTR_H_
2 #define _ARM_NODES_ATTR_H_
3
4 #include "../bearch.h"
5 #include "../../common/firm_types.h"
6
7
8 typedef struct _arm_register_req_t {
9         const arch_register_req_t req;
10         int same_pos;        /**<< in case of "should be same" we need to remember the pos to get the irn */
11         int different_pos;   /**<< in case of "should be different" we need to remember the pos to get the irn */
12 } arm_register_req_t;
13
14
15 typedef struct _arm_attr_t {
16         arch_irn_flags_t flags;     /**<< indicating if spillable, rematerializeable ... etc. */
17         int              n_res;     /**<< number of results for this node */
18
19         const arm_register_req_t **in_req;  /**<< register requirements for arguments */
20         const arm_register_req_t **out_req; /**<< register requirements for results */
21
22         const arch_register_t **slots;          /**<< register slots for assigned registers */
23
24         tarval *value;
25         const char *symconst_label;
26         int proj_num;
27         int n_projs;
28         long default_proj_num;
29 } arm_attr_t;
30
31 #endif /* _ARM_NODES_ATTR_H_ */