- int *problem_found = data;
-
- if(!is_Block(irn) && irn != get_irg_end(get_irn_irg(irn))) {
- int i, n;
- ir_node *bl = get_nodes_block(irn);
-
- for(i = 0, n = get_irn_arity(irn); i < n; ++i) {
- ir_node *op = get_irn_n(irn, i);
- ir_node *def_bl = get_nodes_block(op);
- ir_node *use_bl = bl;
-
- if(is_Phi(irn))
- use_bl = get_Block_cfgpred_block(bl, i);
-
- if(get_irn_opcode(use_bl) != iro_Bad
- && get_irn_opcode(def_bl) != iro_Bad
- && !block_dominates(def_bl, use_bl)) {
- ir_fprintf(stderr, "Verify warning: %+F in %+F must dominate %+F for user %+F (%s)\n", op, def_bl, use_bl, irn, get_irg_dump_name(get_irn_irg(op)));
- *problem_found = 1;
- }
- }
+ /* Don't compute liveness information for non-data nodes. */
+ if (lv->sets_valid && is_liveness_node(irn)) {
+ re.lv = lv;
+ re.visited = bitset_malloc(get_irg_last_idx(lv->irg));
+ liveness_for_node(irn);
+ bitset_free(re.visited);