aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2017-05-31 12:09:51 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2017-05-31 12:09:51 +0000
commit89c88990a86d03d9c01fee81ef662d993c35f5e9 (patch)
treef85ea5f9e8ac2faa059e5da74fd0c389cc84ffff
parent748bbe72024ab2840c6b8ab60cef124c4c83fbeb (diff)
downloadgcc-89c88990a86d03d9c01fee81ef662d993c35f5e9.zip
gcc-89c88990a86d03d9c01fee81ef662d993c35f5e9.tar.gz
gcc-89c88990a86d03d9c01fee81ef662d993c35f5e9.tar.bz2
re PR target/80880 (internal compiler error: in ix86_expand_builtin)
2017-05-31 Richard Biener <rguenther@suse.de> 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
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/i386/i386.c1
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.target/i386/pr80880.c10
4 files changed, 21 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c626652..6d5d0f6 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2017-05-31 Richard Biener <rguenther@suse.de>
+
+ 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 <richard.sandiford@linaro.org>
* 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 6413aa3..097d143 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 cbad569..8b74dc3 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2017-05-31 Richard Biener <rguenther@suse.de>
+
+ PR target/80880
+ * gcc.target/i386/pr80880.c: New testcase.
+
2017-05-31 Richard Sandiford <richard.sandiford@linaro.org>
* 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 0000000..674a587
--- /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;
+}