[RS6000] rs6000_output_mi_thunk tidy
authorAlan Modra <amodra@gmail.com>
Sun, 28 Jul 2019 09:30:41 +0000 (19:00 +0930)
committerAlan Modra <amodra@gcc.gnu.org>
Sun, 28 Jul 2019 09:30:41 +0000 (19:00 +0930)
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

gcc/ChangeLog
gcc/config/rs6000/rs6000-call.c

index 34120003c5fe5931d3c66287c8f5a1656709d0f8..21ca5a8d69e1b3abc7924008dd0742ec0e76a4ae 100644 (file)
@@ -1,3 +1,8 @@
+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
index 2ef8c7f861e4772febbb47664033902c597ca0af..832eda7cbadec5f499aab94bc68fc6ad684c8faa 100644 (file)
@@ -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 ();