[PATCH] PR 80867: ICE during -O3 compile of libgnat
Kelvin Nilsen
kdnilsen@linux.vnet.ibm.com
Mon Jan 29 23:37:00 GMT 2018
It was determined that the reported ICE occurs because a NULL value is
passed from vectorizable_call () to
targetm.vectorize.builtin_md_vectorized_function (
callee, vectype_out, vectype_in).
This patch avoids making this call if callee equals NULL.
After successful bootstrap and regression testing, with preapproval,
this patch has been committed to the trunk.
It it ok to backport to GCC 7 and GCC 6 (after testing on those
platforms)?
Thanks.
gcc/ChangeLog:
2018-01-29 Richard Biener <rguenther@suse.de>
Kelvin Nilsen <kelvin@gcc.gnu.org>
PR bootstrap/80867
* tree-vect-stmts.c (vectorizable_call): Don't call
targetm.vectorize_builtin_md_vectorized_function if callee is
NULL.
Index: gcc/tree-vect-stmts.c
===================================================================
--- gcc/tree-vect-stmts.c (revision 257105)
+++ gcc/tree-vect-stmts.c (working copy)
@@ -3159,7 +3159,7 @@
if (cfn != CFN_LAST)
fndecl = targetm.vectorize.builtin_vectorized_function
(cfn, vectype_out, vectype_in);
- else
+ else if (callee)
fndecl = targetm.vectorize.builtin_md_vectorized_function
(callee, vectype_out, vectype_in);
}
More information about the Gcc-patches
mailing list