diff options
author | Bill Schmidt <wschmidt@linux.ibm.com> | 2021-11-08 08:17:53 -0600 |
---|---|---|
committer | Bill Schmidt <wschmidt@linux.ibm.com> | 2021-11-08 08:49:37 -0600 |
commit | 71cf7c0a0e929550f82b4ac70ac1fd068253039e (patch) | |
tree | aa22f672f52a26cb6c8d88c288123fb5eec27fcd | |
parent | 355eb60b6672220642fae853021599afaa87dfd6 (diff) | |
download | gcc-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.c | 20 |
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) |