re PR tree-optimization/64269 (ICE with -O3 enabled on Ubuntu 14.04)
PR tree-optimization/64269 * tree-ssa-forwprop.c (simplify_builtin_call): Bail out if len2 or diff are too large. * gcc.c-torture/compile/pr64269.c: New test. From-SVN: r218669
This commit is contained in:
parent
8c7b90945f
commit
3597c8dec2
4 changed files with 24 additions and 2 deletions
|
@ -1,3 +1,9 @@
|
|||
2014-12-12 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR tree-optimization/64269
|
||||
* tree-ssa-forwprop.c (simplify_builtin_call): Bail out if
|
||||
len2 or diff are too large.
|
||||
|
||||
2014-12-12 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR middle-end/64280
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2014-12-12 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR tree-optimization/64269
|
||||
* gcc.c-torture/compile/pr64269.c: New test.
|
||||
|
||||
2014-12-12 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR middle-end/64280
|
||||
|
|
9
gcc/testsuite/gcc.c-torture/compile/pr64269.c
Normal file
9
gcc/testsuite/gcc.c-torture/compile/pr64269.c
Normal file
|
@ -0,0 +1,9 @@
|
|||
/* PR tree-optimization/64269 */
|
||||
|
||||
void
|
||||
foo (char *p)
|
||||
{
|
||||
__SIZE_TYPE__ s = ~(__SIZE_TYPE__)0;
|
||||
*p = 0;
|
||||
__builtin_memset (p + 1, 0, s);
|
||||
}
|
|
@ -1288,7 +1288,8 @@ simplify_builtin_call (gimple_stmt_iterator *gsi_p, tree callee2)
|
|||
use_operand_p use_p;
|
||||
|
||||
if (!tree_fits_shwi_p (val2)
|
||||
|| !tree_fits_uhwi_p (len2))
|
||||
|| !tree_fits_uhwi_p (len2)
|
||||
|| compare_tree_int (len2, 1024) == 1)
|
||||
break;
|
||||
if (is_gimple_call (stmt1))
|
||||
{
|
||||
|
@ -1354,7 +1355,8 @@ simplify_builtin_call (gimple_stmt_iterator *gsi_p, tree callee2)
|
|||
is not constant, or is bigger than memcpy length, bail out. */
|
||||
if (diff == NULL
|
||||
|| !tree_fits_uhwi_p (diff)
|
||||
|| tree_int_cst_lt (len1, diff))
|
||||
|| tree_int_cst_lt (len1, diff)
|
||||
|| compare_tree_int (diff, 1024) == 1)
|
||||
break;
|
||||
|
||||
/* Use maximum of difference plus memset length and memcpy length
|
||||
|
|
Loading…
Add table
Reference in a new issue