re PR bootstrap/77768 (LTO/PGO -O3 bootstrap broken: tree-vrp.c:11053:0: internal compiler error: Segmentation fault)
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. * gcc.dg/torture/pr77768.c: New testcase. From-SVN: r240617
This commit is contained in:
parent
da186c1f43
commit
0ce1ecc7be
@ -1,3 +1,9 @@
|
||||
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
|
||||
|
@ -1,3 +1,8 @@
|
||||
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
|
||||
|
13
gcc/testsuite/gcc.dg/torture/pr77768.c
Normal file
13
gcc/testsuite/gcc.dg/torture/pr77768.c
Normal file
@ -0,0 +1,13 @@
|
||||
/* { dg-do run } */
|
||||
|
||||
static const int a;
|
||||
int b;
|
||||
int *c, *d;
|
||||
int main()
|
||||
{
|
||||
c = (int *)&a;
|
||||
c == d ?: __builtin_exit(0);
|
||||
for (; b; b++ >= (*d = a))
|
||||
;
|
||||
return 0;
|
||||
}
|
@ -4443,9 +4443,11 @@ eliminate_dom_walker::before_dom_children (basic_block b)
|
||||
&& 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))
|
||||
|
Loading…
x
Reference in New Issue
Block a user