+ clear_defs(node);
+ set_uses(node);
+
+ op = get_irn_op(node);
+ func = (peephole_opt_func) op->ops.generic;
+ if(func != NULL) {
+ ir_node *new_node = func(node);
+ if(new_node != NULL && new_node != node) {
+ be_liveness_remove(lv, node);
+ be_liveness_introduce(lv, new_node);
+ node = new_node;
+ set_uses(node);
+ }
+ }