From: Richard Biener Date: Wed, 31 May 2017 12:09:51 +0000 (+0000) Subject: re PR target/80880 (internal compiler error: in ix86_expand_builtin) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=89c88990a86d03d9c01fee81ef662d993c35f5e9;p=gcc.git re PR target/80880 (internal compiler error: in ix86_expand_builtin) 2017-05-31 Richard Biener PR target/80880 * config/i386/i386.c (ix86_expand_builtin): Remove assert for arg being an SSA name when expanding IX86_BUILTIN_BNDRET. * gcc.target/i386/pr80880.c: New testcase. From-SVN: r248731 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c6266526f48..6d5d0f6bfdc 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2017-05-31 Richard Biener + + PR target/80880 + * config/i386/i386.c (ix86_expand_builtin): Remove assert + for arg being an SSA name when expanding IX86_BUILTIN_BNDRET. + 2017-05-31 Richard Sandiford * tree-vect-data-refs.c (vect_find_same_alignment_drs): Remove diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 6413aa3685d..097d143a8a1 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -37584,7 +37584,6 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget, case IX86_BUILTIN_BNDRET: arg0 = CALL_EXPR_ARG (exp, 0); - gcc_assert (TREE_CODE (arg0) == SSA_NAME); target = chkp_get_rtl_bounds (arg0); /* If no bounds were specified for returned value, diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index cbad5692d38..8b74dc3364a 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2017-05-31 Richard Biener + + PR target/80880 + * gcc.target/i386/pr80880.c: New testcase. + 2017-05-31 Richard Sandiford * gcc.dg/vect/vect-103.c: Update wording of dump message. diff --git a/gcc/testsuite/gcc.target/i386/pr80880.c b/gcc/testsuite/gcc.target/i386/pr80880.c new file mode 100644 index 00000000000..674a587dd26 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr80880.c @@ -0,0 +1,10 @@ +/* PR target/65523 */ +/* { dg-do compile { target { ! x32 } } } */ +/* { dg-options "-O -fcheck-pointer-bounds -mmpx" } */ + +int *fn1() +{ + int *r = fn1(); + if (r == (void *)0) + return r; +}