+2008-09-10 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-pre.c (phi_translate_1): Fix memory leak.
+
2008-09-10 Richard Guenther <rguenther@suse.de>
PR middle-end/37432
{
tree name = get_representative_for (opresult);
if (!name)
- return NULL;
+ break;
op0 = name;
}
else if (!opresult)
- return NULL;
+ break;
}
changed |= op0 != oldop0;
{
tree name = get_representative_for (opresult);
if (!name)
- return NULL;
+ break;
op1 = name;
}
else if (!opresult)
- return NULL;
+ break;
}
changed |= op1 != oldop1;
if (op2 && TREE_CODE (op2) == SSA_NAME)
{
tree name = get_representative_for (opresult);
if (!name)
- return NULL;
+ break;
op2 = name;
}
else if (!opresult)
- return NULL;
+ break;
}
changed |= op2 != oldop2;
newop.op2 = op2;
VEC_replace (vn_reference_op_s, newoperands, i, &newop);
}
+ if (i != VEC_length (vn_reference_op_s, operands))
+ {
+ if (newoperands)
+ VEC_free (vn_reference_op_s, heap, newoperands);
+ return NULL;
+ }
newvuses = translate_vuses_through_block (vuses, phiblock, pred);
changed |= newvuses != vuses;