static ir_node *transform_proj(ir_node *node) { ir_node *pred = get_Proj_pred(node); ir_op *pred_op = get_irn_op(pred); be_transform_func *proj_transform = (be_transform_func*)pred_op->ops.generic1; /* we should have a Proj transformer registered */ assert(proj_transform != NULL); return proj_transform(node); }
static ir_node *transform_proj(ir_node *node) { ir_node *pred = get_Proj_pred(node); ir_op *pred_op = get_irn_op(pred); be_transform_func *proj_transform = (be_transform_func*)pred_op->ops.generic1; /* we should have a Proj transformer registered */ #ifdef DEBUG_libfirm if (!proj_transform) { unsigned const node_pn = get_Proj_num(node); if (is_Proj(pred)) { unsigned const pred_pn = get_Proj_num(pred); ir_node *const pred_pred = get_Proj_pred(pred); panic("no transformer for %+F (%u) -> %+F (%u) -> %+F", node, node_pn, pred, pred_pn, pred_pred); } else { panic("no transformer for %+F (%u) -> %+F", node, node_pn, pred); } } #endif return proj_transform(node); }