aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAndrew Macleod <amacleod@gcc.gnu.org>1998-03-16 12:52:33 +0000
committerAndrew Macleod <amacleod@gcc.gnu.org>1998-03-16 12:52:33 +0000
commit77153e9cc1b19d5102169d7e9ab65e1845e52676 (patch)
treef512a22f0572961717ff3da3b9fe8cab40adc6bc /gcc
parent41fe085f07f5d4302e05fa39ac47a61fd19cb766 (diff)
downloadgcc-77153e9cc1b19d5102169d7e9ab65e1845e52676.zip
gcc-77153e9cc1b19d5102169d7e9ab65e1845e52676.tar.gz
gcc-77153e9cc1b19d5102169d7e9ab65e1845e52676.tar.bz2
sparc.md: Add calls to 'in_same_eh_region' in 4 peepholes involving calls and...
* config/sparc/sparc.md: Add calls to 'in_same_eh_region' in 4 peepholes involving calls and unconditional branches. From-SVN: r18627
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/sparc/sparc.md8
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md
index e4057dd..13c2f0e 100644
--- a/gcc/config/sparc/sparc.md
+++ b/gcc/config/sparc/sparc.md
@@ -6337,7 +6337,7 @@
(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
@@ -6345,7 +6345,7 @@
(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
@@ -6354,7 +6354,7 @@
(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
@@ -6362,7 +6362,7 @@
(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.