diff options
author | Tom de Vries <tom@codesourcery.com> | 2017-12-20 00:46:38 +0000 |
---|---|---|
committer | Tom de Vries <vries@gcc.gnu.org> | 2017-12-20 00:46:38 +0000 |
commit | 4b522b8f339f4e7844843d30f38ea9459d908e3c (patch) | |
tree | cd32dc6ce38614687f2e8641be27ecb2f2300692 /gcc/config | |
parent | f00b0bad2afa3912e91910eaa1f6c7e74fe86683 (diff) | |
download | gcc-4b522b8f339f4e7844843d30f38ea9459d908e3c.zip gcc-4b522b8f339f4e7844843d30f38ea9459d908e3c.tar.gz gcc-4b522b8f339f4e7844843d30f38ea9459d908e3c.tar.bz2 |
Don't call targetm.calls.static_chain in non-static function
2017-12-20 Tom de Vries <tom@codesourcery.com>
PR middle-end/83423
* config/i386/i386.c (ix86_static_chain): Move DECL_STATIC_CHAIN test ...
* calls.c (rtx_for_static_chain): ... here. New function.
* calls.h (rtx_for_static_chain): Declare.
* builtins.c (expand_builtin_setjmp_receiver): Use rtx_for_static_chain
instead of targetm.calls.static_chain.
* df-scan.c (df_get_entry_block_def_set): Same.
From-SVN: r255849
Diffstat (limited to 'gcc/config')
-rw-r--r-- | gcc/config/i386/i386.c | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 85988cf..48d5640 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -29236,12 +29236,6 @@ ix86_static_chain (const_tree fndecl_or_type, bool incoming_p) { unsigned regno; - /* While this function won't be called by the middle-end when a static - chain isn't needed, it's also used throughout the backend so it's - easiest to keep this check centralized. */ - if (DECL_P (fndecl_or_type) && !DECL_STATIC_CHAIN (fndecl_or_type)) - return NULL; - if (TARGET_64BIT) { /* We always use R10 in 64-bit mode. */ |