4 * A data structure to treat nodes and node-proj collections uniformly.
14 typedef struct _be_operand_t be_operand_t;
15 typedef struct _be_insn_t be_insn_t;
16 typedef struct _be_insn_env_t be_insn_env_t;
18 struct _be_operand_t {
21 be_operand_t *partner;
24 arch_register_req_t req;
25 unsigned has_constraints : 1;
34 unsigned in_constraints : 1;
35 unsigned out_constraints : 1;
36 unsigned has_constraints : 1;
37 unsigned pre_colored : 1;
40 struct _be_insn_env_t {
42 const arch_env_t *aenv;
43 const arch_register_class_t *cls;
44 bitset_t *ignore_colors;
47 #define be_insn_n_defs(insn) ((insn)->use_start)
48 #define be_insn_n_uses(insn) ((insn)->n_ops - (insn)->use_start)
50 be_insn_t *be_scan_insn(const be_insn_env_t *env, ir_node *irn);
52 be_insn_env_t *be_insn_env_init(be_insn_env_t *ie, const be_irg_t *birg, const arch_register_class_t *cls, struct obstack *obst);
54 #endif /* _BEINSN_T_H */