3 * Internal datastructures for the chordal register allocator.
4 * @author Sebastian Hack
14 * A liveness interval border.
16 typedef struct _border_t {
18 unsigned magic; /**< A magic number for checking. */
20 struct list_head list; /**< list head for queuing. */
21 struct _border_t *other_end; /**< The other end of the border. */
22 const ir_node *irn; /**< The node. */
23 unsigned step; /**< The number equal to the interval border. */
24 unsigned pressure; /**< The pressure at this interval border.
25 (The border itself is counting). */
26 unsigned is_def : 1; /**< Does this border denote a use or a def. */
27 unsigned is_real : 1; /**< Is the def/use real? Or is it just inserted
28 at block beginnings or ends to ensure that inside
29 a block, each value has one begin and one end. */
33 typedef struct _if_edge_t {
37 set *be_ra_get_ifg(ir_graph *irg);
40 extern void be_ra_chordal_spill(ir_graph *irg);
42 #endif /* _BECHORDAL_T_H */