aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBill Schmidt <wschmidt@linux.ibm.com>2021-11-08 08:17:53 -0600
committerBill Schmidt <wschmidt@linux.ibm.com>2021-11-08 08:49:37 -0600
commit71cf7c0a0e929550f82b4ac70ac1fd068253039e (patch)
treeaa22f672f52a26cb6c8d88c288123fb5eec27fcd
parent355eb60b6672220642fae853021599afaa87dfd6 (diff)
downloadgcc-71cf7c0a0e929550f82b4ac70ac1fd068253039e.zip
gcc-71cf7c0a0e929550f82b4ac70ac1fd068253039e.tar.gz
gcc-71cf7c0a0e929550f82b4ac70ac1fd068253039e.tar.bz2
rs6000: Update rs6000_builtin_decl
Create a new version of this function that uses the new infrastructure, and particularly checks for supported builtins the new way. 2021-11-08 Bill Schmidt <wschmidt@linux.ibm.com> gcc/ * config/rs6000/rs6000-call.c (rs6000_new_builtin_decl): New function. (rs6000_builtin_decl): Call it.
-rw-r--r--gcc/config/rs6000/rs6000-call.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/gcc/config/rs6000/rs6000-call.c b/gcc/config/rs6000/rs6000-call.c
index c7fdf72..9ddc341 100644
--- a/gcc/config/rs6000/rs6000-call.c
+++ b/gcc/config/rs6000/rs6000-call.c
@@ -16411,11 +16411,31 @@ rs6000_init_builtins (void)
}
}
+static tree
+rs6000_new_builtin_decl (unsigned code, bool /* initialize_p */)
+{
+ rs6000_gen_builtins fcode = (rs6000_gen_builtins) code;
+
+ if (fcode >= RS6000_OVLD_MAX)
+ return error_mark_node;
+
+ if (!rs6000_new_builtin_is_supported (fcode))
+ {
+ rs6000_invalid_new_builtin (fcode);
+ return error_mark_node;
+ }
+
+ return rs6000_builtin_decls_x[code];
+}
+
/* Returns the rs6000 builtin decl for CODE. */
tree
rs6000_builtin_decl (unsigned code, bool initialize_p ATTRIBUTE_UNUSED)
{
+ if (new_builtins_are_live)
+ return rs6000_new_builtin_decl (code, initialize_p);
+
HOST_WIDE_INT fnmask;
if (code >= RS6000_BUILTIN_COUNT)