re PR target/71185 (ice in gimplify_modify_expr, at gimplify.c:4873)

2016-05-20  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/71185
	* tree-ssa-loop-prefetch.c (gather_memory_references): Drop
	register operations.

	* gcc.dg/tree-ssa/pr71185.c: New testcase.

From-SVN: r236499
This commit is contained in:
Richard Biener 2016-05-20 09:09:28 +00:00 committed by Richard Biener
parent 58f10249a8
commit eb066284cb
4 changed files with 27 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2016-05-20 Richard Biener <rguenther@suse.de>
PR tree-optimization/71185
* tree-ssa-loop-prefetch.c (gather_memory_references): Drop
register operations.
2016-05-20 Richard Biener <rguenther@suse.de>
* tree-if-conv.c (add_bb_predicate_gimplified_stmts): Use

View File

@ -1,3 +1,8 @@
2016-05-20 Richard Biener <rguenther@suse.de>
PR tree-optimization/71185
* gcc.dg/tree-ssa/pr71185.c: New testcase.
2016-05-20 Richard Biener <rguenther@suse.de>
* gcc.dg/tree-ssa/ifc-cd.c: Adjust.

View File

@ -0,0 +1,13 @@
/* { dg-do compile } */
/* { dg-options "-O3" } */
/* { dg-options "-O3 -march=barcelona" { target x86_64-*-* i?86-*-* } } */
union U { struct S { int l; int m; } p; long long a; } b;
int a, c;
void
foo ()
{
for (; b.p.m; b.a += c)
a = b.p.l / 65536.0 * 65536.0;
}

View File

@ -631,6 +631,9 @@ gather_memory_references (struct loop *loop, bool *no_other_refs, unsigned *ref_
continue;
}
if (! gimple_vuse (stmt))
continue;
lhs = gimple_assign_lhs (stmt);
rhs = gimple_assign_rhs1 (stmt);