]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
revert fix for pr88343
authorIain Sandoe <iain@sandoe.co.uk>
Thu, 3 Jan 2019 08:34:41 +0000 (08:34 +0000)
committerIain Sandoe <iains@gcc.gnu.org>
Thu, 3 Jan 2019 08:34:41 +0000 (08:34 +0000)
causes problems with soft-fp in GLIBC, see pr comment 11

2019-01-03  Iain Sandoe  <iain@sandoe.co.uk>

revert:
2018-12-30  Iain Sandoe  <iain@sandoe.co.uk>

backport from mainline.
2018-12-12 Segher Boessenkool  <segher@kernel.crashing.org>
   Iain Sandoe  <iain@sandoe.co.uk>

PR target/88343
* config/rs6000/rs6000.c (save_reg_p): Do not save the picbase reg
unless it has been used.
(first_reg_to_save): Remove dead code.

From-SVN: r267542

gcc/ChangeLog
gcc/config/rs6000/rs6000.c

index 44bc7f5c753a59fc7132d0a8bbafbead7b2193a4..066ff5a2895fc93c0189736f297b1dd794aae5c3 100644 (file)
@@ -1,3 +1,17 @@
+2019-01-03  Iain Sandoe  <iain@sandoe.co.uk>
+
+       revert:
+       2018-12-30  Iain Sandoe  <iain@sandoe.co.uk>
+
+       backport from mainline.
+       2018-12-12 Segher Boessenkool  <segher@kernel.crashing.org>
+                  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR target/88343
+       * config/rs6000/rs6000.c (save_reg_p): Do not save the picbase reg
+       unless it has been used.
+       (first_reg_to_save): Remove dead code.
+
 2019-01-02  Segher Boessenkool  <segher@kernel.crashing.org>
 
        Backport from trunk
index df5e0ef41a61bdb67b58667e8184454698f3bd37..68dd95429fe683a7445e7857e540f2619a07514a 100644 (file)
@@ -26738,7 +26738,7 @@ rs6000_reg_live_or_pic_offset_p (int reg)
        return true;
 
       if ((DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_DARWIN)
-         && flag_pic && crtl->uses_pic_offset_table)
+         && flag_pic)
        return true;
     }
 
@@ -26769,6 +26769,13 @@ first_reg_to_save (void)
       && rs6000_reg_live_or_pic_offset_p (RS6000_PIC_OFFSET_TABLE_REGNUM))
     first_reg = RS6000_PIC_OFFSET_TABLE_REGNUM;
 
+#if TARGET_MACHO
+  if (flag_pic
+      && crtl->uses_pic_offset_table
+      && first_reg > RS6000_PIC_OFFSET_TABLE_REGNUM)
+    return RS6000_PIC_OFFSET_TABLE_REGNUM;
+#endif
+
   return first_reg;
 }