]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
sparc.md: Add calls to 'in_same_eh_region' in 4 peepholes involving calls and...
authorAndrew Macleod <amacleod@gcc.gnu.org>
Mon, 16 Mar 1998 12:52:33 +0000 (12:52 +0000)
committerAndrew Macleod <amacleod@gcc.gnu.org>
Mon, 16 Mar 1998 12:52:33 +0000 (12:52 +0000)
* config/sparc/sparc.md: Add calls to 'in_same_eh_region' in 4
peepholes involving calls and unconditional branches.

From-SVN: r18627

gcc/config/sparc/sparc.md

index e4057dd27d7ea33df7f8e7fe70812d9377d7064f..13c2f0e73004ea5665f293e43d2ef805dca54e0c 100644 (file)
                         (match_operand 2 "" "")))
              (clobber (reg:SI 15))])
    (set (pc) (label_ref (match_operand 3 "" "")))]
-  "short_branch (INSN_UID (insn), INSN_UID (operands[3]))"
+  "short_branch (INSN_UID (insn), INSN_UID (operands[3])) && in_same_eh_region (insn, operands[3]) && in_same_eh_region (insn, ins1)"
   "call %a1,%2\;add %%o7,(%l3-.-4),%%o7")
 
 (define_peephole
                    (match_operand 1 "" ""))
              (clobber (reg:SI 15))])
    (set (pc) (label_ref (match_operand 2 "" "")))]
-  "short_branch (INSN_UID (insn), INSN_UID (operands[2]))"
+  "short_branch (INSN_UID (insn), INSN_UID (operands[2])) && in_same_eh_region (insn, operands[2]) && in_same_eh_region (insn, ins1)"
   "call %a0,%1\;add %%o7,(%l2-.-4),%%o7")
 
 (define_peephole
                         (match_operand 2 "" "")))
              (clobber (reg:DI 15))])
    (set (pc) (label_ref (match_operand 3 "" "")))]
-  "TARGET_ARCH64 && short_branch (INSN_UID (insn), INSN_UID (operands[3]))"
+  "TARGET_ARCH64 && short_branch (INSN_UID (insn), INSN_UID (operands[3])) && in_same_eh_region (insn, operands[3]) && in_same_eh_region (insn, ins1)"
   "call %a1,%2\;add %%o7,(%l3-.-4),%%o7")
 
 (define_peephole
                    (match_operand 1 "" ""))
              (clobber (reg:DI 15))])
    (set (pc) (label_ref (match_operand 2 "" "")))]
-  "TARGET_ARCH64 && short_branch (INSN_UID (insn), INSN_UID (operands[2]))"
+  "TARGET_ARCH64 && short_branch (INSN_UID (insn), INSN_UID (operands[2])) && in_same_eh_region (insn, operands[2]) && in_same_eh_region (insn, ins1)"
   "call %a0,%1\;add %%o7,(%l2-.-4),%%o7")
 
 ;; Other miscellaneous peepholes.