[Bug middle-end/71062] [7 regression] r235622 and restrict pointers
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71062 Richard Biener changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #5 from Richard Biener --- Fixed.
[Bug middle-end/71062] [7 regression] r235622 and restrict pointers
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71062 --- Comment #4 from Richard Biener --- Author: rguenth Date: Thu May 12 13:05:13 2016 New Revision: 236174 URL: https://gcc.gnu.org/viewcvs?rev=236174&root=gcc&view=rev Log: 2016-05-12 Richard Biener PR tree-optimization/71062 * tree-ssa-alias.h (struct pt_solution): Add vars_contains_restrict field. * tree-ssa-structalias.c (set_uids_in_ptset): Set vars_contains_restrict if the var is a restrict tag. * tree-ssa-alias.c (ptrs_compare_unequal): If vars_contains_restrict do not disambiguate pointers against it. (dump_points_to_solution): Re-structure and adjust for new vars_contains_restrict flag. * gimple-pretty-print.c (pp_points_to_solution): Likewise. * gcc.dg/torture/pr71062.c: New testcase. Added: trunk/gcc/testsuite/gcc.dg/torture/pr71062.c Modified: trunk/gcc/ChangeLog trunk/gcc/gimple-pretty-print.c trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-ssa-alias.c trunk/gcc/tree-ssa-alias.h trunk/gcc/tree-ssa-structalias.c
[Bug middle-end/71062] [7 regression] r235622 and restrict pointers
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71062 Richard Biener changed: What|Removed |Added Keywords||wrong-code Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2016-05-12 Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot gnu.org Target Milestone|--- |7.0 Ever confirmed|0 |1 --- Comment #3 from Richard Biener --- Mine.
[Bug middle-end/71062] [7 regression] r235622 and restrict pointers
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71062 --- Comment #2 from joseph at codesourcery dot com --- I don't think it's valid to optimize for comparisons, where dereference doesn't occur, based on restrict; restrict is only about how an object is accessed (and as long as the object doesn't get modified, multiple pointers, restricted and otherwise, can be used to access it; it's only if the object is modified[*] that the rules about restrict come into play). [*] Including the deemed modifications from "Every access that modifies X shall be considered also to modify P, for the purposes of this subclause." to deal with multiple levels of restricted pointers.
[Bug middle-end/71062] [7 regression] r235622 and restrict pointers
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71062 Andre Vieira changed: What|Removed |Added Target||arm Summary|[bugzilla] r235622 and |[7 regression] r235622 and |restrict pointers |restrict pointers --- Comment #1 from Andre Vieira --- Register keyword here is superfluous. It is all down to the restrict keyword.