]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR target/14113 (-O2 corrupts stack)
authorEric Botcazou <ebotcazou@libertysurf.fr>
Thu, 12 Feb 2004 13:42:46 +0000 (14:42 +0100)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Thu, 12 Feb 2004 13:42:46 +0000 (13:42 +0000)
PR target/14113
Backport from mainline:

2004-02-03  Eric Botcazou  <ebotcazou@libertysurf.fr>

* config/sparc/sparc.md (call followed by jump define_peephole's):
Delete.

From-SVN: r77706

gcc/ChangeLog
gcc/config/sparc/sparc.md

index b88d4f39f107da9b854b8531f9d5c39679a110e8..2e230783d6b93774208a19867f7bc2d171573efc 100644 (file)
@@ -1,3 +1,13 @@
+2004-02-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR target/14113
+       Backport from mainline:
+
+       2004-02-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * config/sparc/sparc.md (call followed by jump define_peephole's):
+       Delete.
+
 2004-02-06  H.J. Lu  <hongjiu.lu@intel.com>
 
        * doc/invoke.texi: Mention SSE2 and SSE3.
index 62fabd577e27939937fcc1755a00d01e011db43c..01e031ebadbbab22036b7ef490c948a80d5321fc 100644 (file)
   [(set_attr "type" "multi")
    (set_attr "length" "2")])
 
-;; Now peepholes to do a call followed by a jump.
-
-(define_peephole
-  [(parallel [(set (match_operand 0 "" "")
-                  (call (mem:SI (match_operand:SI 1 "call_operand_address" "ps"))
-                        (match_operand 2 "" "")))
-             (clobber (reg:SI 15))])
-   (set (pc) (label_ref (match_operand 3 "" "")))]
-  "short_branch (INSN_UID (insn), INSN_UID (operands[3]))
-   && (USING_SJLJ_EXCEPTIONS || ! can_throw_internal (ins1))
-   && sparc_cpu != PROCESSOR_ULTRASPARC
-   && sparc_cpu != PROCESSOR_ULTRASPARC3"
-  "call\t%a1, %2\n\tadd\t%%o7, (%l3-.-4), %%o7")
-
-(define_peephole
-  [(parallel [(call (mem:SI (match_operand:SI 0 "call_operand_address" "ps"))
-                   (match_operand 1 "" ""))
-             (clobber (reg:SI 15))])
-   (set (pc) (label_ref (match_operand 2 "" "")))]
-  "short_branch (INSN_UID (insn), INSN_UID (operands[2]))
-   && (USING_SJLJ_EXCEPTIONS || ! can_throw_internal (ins1))
-   && sparc_cpu != PROCESSOR_ULTRASPARC
-   && sparc_cpu != PROCESSOR_ULTRASPARC3"
-  "call\t%a0, %1\n\tadd\t%%o7, (%l2-.-4), %%o7")
-
 ;; ??? UltraSPARC-III note: A memory operation loading into the floating point register
 ;; ??? file, if it hits the prefetch cache, has a chance to dual-issue with other memory
 ;; ??? operations.  With DFA we might be able to model this, but it requires a lot of