diff options
author | Alan Modra <amodra@gmail.com> | 2019-07-28 19:00:41 +0930 |
---|---|---|
committer | Alan Modra <amodra@gcc.gnu.org> | 2019-07-28 19:00:41 +0930 |
commit | aef57966f4a2eb45d399af1c243f299e2f894000 (patch) | |
tree | 3fccd9ff423654aee047857fbbb76528e0538f5d /gcc | |
parent | 295ac7c79ebe8ec1dec799c748c49e44fd6b4b47 (diff) | |
download | gcc-aef57966f4a2eb45d399af1c243f299e2f894000.zip gcc-aef57966f4a2eb45d399af1c243f299e2f894000.tar.gz gcc-aef57966f4a2eb45d399af1c243f299e2f894000.tar.bz2 |
[RS6000] rs6000_output_mi_thunk tidy
Since svn r123193 (git 327202e27a) the comment about scratch regs was
no longer correct, and I think gen_sibcall could have been used even
then.
* gcc/config/rs6000/rs6000-call.c (rs6000_output_mi_thunk): Use
gen_sibcall.
From-SVN: r273855
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000-call.c | 15 |
2 files changed, 6 insertions, 14 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3412000..21ca5a8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2019-07-28 Alan Modra <amodra@gmail.com> + * gcc/config/rs6000/rs6000-call.c (rs6000_output_mi_thunk): Use + gen_sibcall. + +2019-07-28 Alan Modra <amodra@gmail.com> + PR target/91135 * config/rs6000/linux.h (GNU_USER_TARGET_D_OS_VERSIONS): Don't define. diff --git a/gcc/config/rs6000/rs6000-call.c b/gcc/config/rs6000/rs6000-call.c index 2ef8c7f..832eda7 100644 --- a/gcc/config/rs6000/rs6000-call.c +++ b/gcc/config/rs6000/rs6000-call.c @@ -8099,20 +8099,7 @@ rs6000_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED, funexp = XEXP (DECL_RTL (function), 0); funexp = gen_rtx_MEM (FUNCTION_MODE, funexp); -#if TARGET_MACHO - if (MACHOPIC_INDIRECT) - funexp = machopic_indirect_call_target (funexp); -#endif - - /* gen_sibcall expects reload to convert scratch pseudo to LR so we must - generate sibcall RTL explicitly. */ - insn = emit_call_insn ( - gen_rtx_PARALLEL (VOIDmode, - gen_rtvec (3, - gen_rtx_CALL (VOIDmode, - funexp, const0_rtx), - gen_rtx_USE (VOIDmode, const0_rtx), - simple_return_rtx))); + insn = emit_call_insn (gen_sibcall (funexp, const0_rtx, const0_rtx)); SIBLING_CALL_P (insn) = 1; emit_barrier (); |