+ir_node *be_new_Phi(ir_node *block, int n_ins, ir_node **ins, ir_mode *mode,
+ const arch_register_class_t *cls)
+{
+ struct obstack *obst = be_get_birg_obst(get_irn_irg(block));
+ backend_info_t *info;
+
+ ir_node *phi = new_r_Phi(block, n_ins, ins, mode);
+ info = be_get_info(phi);
+ info->out_infos = NEW_ARR_D(reg_out_info_t, obst, 1);
+ memset(info->out_infos, 0, 1 * sizeof(info->out_infos[0]));
+ if (cls == NULL) {
+ info->out_infos[0].req = arch_no_register_req;
+ } else {
+ info->out_infos[0].req = cls->class_req;
+ }
+
+ return phi;
+}
+