+2016-09-29 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/77768
+ * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
+ Handle stores to readonly memory when removing redundant stores.
+
2016-09-29 Richard Biener <rguenther@suse.de>
PR middle-end/77407
+2016-09-29 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/77768
+ * gcc.dg/torture/pr77768.c: New testcase.
+
2016-09-28 Richard Biener <rguenther@suse.de>
PR middle-end/77407
&& operand_equal_p (val, rhs, 0))
{
/* We can only remove the later store if the former aliases
- at least all accesses the later one does. */
+ at least all accesses the later one does or if the store
+ was to readonly memory storing the same value. */
alias_set_type set = get_alias_set (lhs);
- if (vnresult->set == set
+ if (! vnresult
+ || vnresult->set == set
|| alias_set_subset_of (set, vnresult->set))
{
if (dump_file && (dump_flags & TDF_DETAILS))