2019-05-02 Richard Biener <rguenther@suse.de>
PR tree-optimization/89509
* tree-ssa-structalias.c (compute_dependence_clique): Look
at the first subvar when determining whether it is restrict.
* gcc.dg/torture/restrict-8.c: New testcase.
From-SVN: r270799
+2019-05-02 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/89509
+ * tree-ssa-structalias.c (compute_dependence_clique): Look
+ at the first subvar when determining whether it is restrict.
+
2019-05-02 Richard Biener <rguenther@suse.de>
PR tree-optimization/90273
+2019-05-02 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/89509
+ * gcc.dg/torture/restrict-8.c: New testcase.
+
2019-05-02 Iain Sandoe <iain@sandoe.co.uk>
* gcc.dg/tree-prof/section-attr-1.c: Update scan-asm regex
--- /dev/null
+/* { dg-do compile } */
+/* { dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
+/* { dg-options "-fdump-tree-fre1" } */
+
+struct S { int i; void *p; int j; };
+int
+foo (struct S * __restrict p, int *q, int flag)
+{
+ int *x = &p->j;
+ if (flag)
+ x = &p->i;
+ *q = 1;
+ *x = 2;
+ return *q;
+}
+
+/* { dg-final { scan-tree-dump "return 1;" "fre1" } } */
EXECUTE_IF_SET_IN_BITMAP (vi->solution, 0, j, bi)
{
varinfo_t oi = get_varinfo (j);
+ if (oi->head != j)
+ oi = get_varinfo (oi->head);
if (oi->is_restrict_var)
{
- if (restrict_var)
+ if (restrict_var
+ && restrict_var != oi)
{
if (dump_file && (dump_flags & TDF_DETAILS))
{