- if (reg_node != node) {
- ir_fprintf(stderr, "Verify warning: Node %+F not registered as value for Register %s (but %+F) in block %+F(%s)\n",
- node, reg->name, reg_node, get_nodes_block(node), get_irg_dump_name(irg));
- problem_found = 1;
+ /* a little cheat, since its so hard to remove all outedges to dead code
+ * in the backend. This particular case should never be a problem. */
+ if (reg_node == NULL && get_irn_n_edges(node) == 0)
+ return;
+
+ if (reg_node != node) {
+ const arch_register_t *realreg = &arch_env->registers[idx+i];
+ ir_fprintf(stderr, "Verify warning: Node %+F not registered as value for Register %s (but %+F) in block %+F(%s)\n",
+ node, realreg->name, reg_node, get_nodes_block(node),
+ get_irg_dump_name(irg));
+ problem_found = true;
+ }
+ registers[idx+i] = NULL;