tree-ssa-sccvn.c (vn_reference_lookup_3): Remove restriction of fixed offset from memset VN.

2018-05-23  Richard Biener  <rguenther@suse.de>

	* tree-ssa-sccvn.c (vn_reference_lookup_3): Remove restriction
	of fixed offset from memset VN.

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

From-SVN: r260609
This commit is contained in:
Richard Biener 2018-05-23 14:01:36 +00:00 committed by Richard Biener
parent d71dc99078
commit 52388096c2
4 changed files with 20 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2018-05-23 Richard Biener <rguenther@suse.de>
* tree-ssa-sccvn.c (vn_reference_lookup_3): Remove restriction
of fixed offset from memset VN.
2018-05-23 Bill Schmidt <wschmidt@linux.ibm.com>
* gimple-ssa-strength-reduction.c (struct slsr_cand_d): Add

View File

@ -1,3 +1,7 @@
2018-05-23 Richard Biener <rguenther@suse.de>
* gcc.dg/tree-ssa/ssa-fre-66.c: New testcase.
2018-05-23 Sudakshina Das <sudi.das@arm.com>
PR target/84882

View File

@ -0,0 +1,11 @@
/* { dg-do compile } */
/* { dg-options "-O -fdump-tree-fre1" } */
int foo (int i)
{
int a[16];
__builtin_memset (a, 42, sizeof (a));
return a[i];
}
/* { dg-final { scan-tree-dump "return 707406378;" "fre1" { target { int32plus } } } } */

View File

@ -1962,7 +1962,6 @@ vn_reference_lookup_3 (ao_ref *ref, tree vuse, void *vr_,
|| ((TREE_CODE (gimple_call_arg (def_stmt, 1)) == INTEGER_CST
|| (INTEGRAL_TYPE_P (vr->type) && known_eq (ref->size, 8)))
&& CHAR_BIT == 8 && BITS_PER_UNIT == 8
&& known_eq (ref->size, maxsize)
&& offset.is_constant (&offseti)
&& offseti % BITS_PER_UNIT == 0))
&& poly_int_tree_p (gimple_call_arg (def_stmt, 2))