#define LV_USE_BINARY_SEARCH
#undef LV_INTESIVE_CHECKS
+static INLINE int is_liveness_node(const ir_node *irn)
+{
+ return !is_Block(irn) && !is_Bad(irn);
+}
+
int (be_lv_next_irn)(const struct _be_lv_t *lv, const ir_node *bl, unsigned flags, int i)
{
return _be_lv_next_irn(lv, bl, flags, i);
ir_node *def_block;
/* Don't compute liveness information for non-data nodes. */
- if(!is_data_node(irn))
+ if(!is_liveness_node(irn))
return;
bitset_clear_all(visited);
* If the usage is no data node, skip this use, since it does not
* affect the liveness of the node.
*/
- if(!is_data_node(use))
+ if(!is_liveness_node(use))
continue;
/* Get the block where the usage is in. */
else if(curr) {
unsigned n_curr = curr[0].u.head.n_members;
unsigned n_fresh = fr[0].u.head.n_members;
- unsigned n = MIN(n_curr, n_fresh);
unsigned i;