2013-10-10 Richard Biener <rguenther@suse.de>
PR tree-optimization/58656
* tree-ssa-pre.c (phi_translate): Do not cache failed
translations.
From-SVN: r203377
+2013-10-10 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/58656
+ * tree-ssa-pre.c (phi_translate): Do not cache failed
+ translations.
+
2013-10-10 Andrew MacLeod <amacleod@redhat.com>
* gimplify.c: Include expr.h and tm_p.h for targets with special va-arg
phitrans = phi_translate_1 (expr, set1, set2, pred, phiblock);
if (slot)
- slot->v = phitrans;
+ {
+ if (phitrans)
+ slot->v = phitrans;
+ else
+ /* Remove failed translations again, they cause insert
+ iteration to not pick up new opportunities reliably. */
+ phi_translate_table.remove_elt_with_hash (slot, slot->hashcode);
+ }
return phitrans;
}