Make STATIC_CHAIN_REGNUM a call used register.
authorJeff Law <law@redhat.com>
Sat, 29 Feb 2020 20:45:37 +0000 (13:45 -0700)
committerJeff Law <law@redhat.com>
Sat, 29 Feb 2020 20:45:37 +0000 (13:45 -0700)
* config/v850/v850.h (STATIC_CHAIN_REGNUM): Change to r19.
* config/v850/v850.c (v850_asm_trampoline_template): Update
accordingly.

gcc/ChangeLog
gcc/config/v850/v850.c
gcc/config/v850/v850.h

index 7d95db8623fcc0d73389021c3c2f8d2657fd623b..2a69c680a9b9d75edec98ba4ab44f8b40ecd5161 100644 (file)
@@ -1,3 +1,9 @@
+2020-02-28  Jeff Law  <law@redhat.com>
+
+       * config/v850/v850.h (STATIC_CHAIN_REGNUM): Change to r19.
+       * config/v850/v850.c (v850_asm_trampoline_template): Update
+       accordingly.
+
 2020-02-28  Michael Meissner  <meissner@linux.ibm.com>
 
        PR target/93937
index 074adf8768731a948fd7dc95ddb5c54210edfe4a..4b0e28c1786cdd234f9bb2155a4cd72b89fe4bff 100644 (file)
@@ -2961,7 +2961,7 @@ static void
 v850_asm_trampoline_template (FILE *f)
 {
   fprintf (f, "\tjarl .+4,r12\n");
-  fprintf (f, "\tld.w 12[r12],r20\n");
+  fprintf (f, "\tld.w 12[r12],r19\n");
   fprintf (f, "\tld.w 16[r12],r12\n");
   fprintf (f, "\tjmp [r12]\n");
   fprintf (f, "\tnop\n");
index 823bc5e17e33dfa175d36d8da72d542ab9687ce7..7ae583c7df23f4074c33f29c4242dc26dc4b8919 100644 (file)
@@ -438,8 +438,9 @@ enum reg_class
 /* Base register for access to arguments of the function.  */
 #define ARG_POINTER_REGNUM 35
 
-/* Register in which static-chain is passed to a function.  */
-#define STATIC_CHAIN_REGNUM 20
+/* Register in which static-chain is passed to a function.
+   This must be a call used register.  */
+#define STATIC_CHAIN_REGNUM 19
 
 /* If defined, this macro specifies a table of register pairs used to
    eliminate unneeded registers that point into the stack frame.  If