- foreach_out_edge(irn, edge) {
- ir_node *user = edge->src;
- DBG((phi_classes->dbg, LEVEL_2, " checking user %+F\n", user));
- if (is_Phi(user) && mode_is_datab(get_irn_mode(user)))
- phi_class_build(phi_classes, user, pc);
+ if (! phi_classes->pure_phi_classes || 1) {
+ DBG((phi_classes->dbg, LEVEL_2, "\tchecking users of %+F:\n", irn));
+ foreach_out_edge(irn, edge) {
+ ir_node *user = edge->src;
+ DBG((phi_classes->dbg, LEVEL_2, "\tchecking user %+F ... ", user));
+ if (is_Phi(user) && mode_is_datab(get_irn_mode(user))) {
+ DB((phi_classes->dbg, LEVEL_2, "is a Phi, descend\n"));
+ phi_class_build(phi_classes, user, pc);
+ }
+ else {
+ DB((phi_classes->dbg, LEVEL_2, "not a Phi, skip\n"));
+ }
+ }