aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Wood <wood@gnu.org>1992-10-13 17:09:04 +0000
committerTom Wood <wood@gnu.org>1992-10-13 17:09:04 +0000
commit64b7b7a3f678339c8f6ecccb073fb8a56bf716f0 (patch)
tree6a92403c67b5643f3fafd4db5e0445489310f433
parent68403115dd3819c02a4e75fc085192b95f69dce0 (diff)
downloadgcc-64b7b7a3f678339c8f6ecccb073fb8a56bf716f0.zip
gcc-64b7b7a3f678339c8f6ecccb073fb8a56bf716f0.tar.gz
gcc-64b7b7a3f678339c8f6ecccb073fb8a56bf716f0.tar.bz2
(mostly_false_jump): Recognize a sequence properly.
From-SVN: r2428
-rw-r--r--gcc/config/m88k/m88k.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/gcc/config/m88k/m88k.c b/gcc/config/m88k/m88k.c
index 46814ef..cae25eb 100644
--- a/gcc/config/m88k/m88k.c
+++ b/gcc/config/m88k/m88k.c
@@ -47,7 +47,7 @@ extern char *ctime ();
extern int flag_traditional;
extern FILE *asm_out_file;
-static char out_sccs_id[] = "@(#)m88k.c 2.2.13.1 10/07/92 06:31:13";
+static char out_sccs_id[] = "@(#)m88k.c 2.2.13.2 10/13/92 09:26:24";
static char tm_sccs_id [] = TM_SCCS_ID;
char *m88k_pound_sign = ""; /* Either # for SVR4 or empty for SVR3 */
@@ -917,10 +917,11 @@ mostly_false_jump (jump_insn, condition)
{
if (GET_CODE (insnt) == JUMP_INSN)
break;
- else if (GET_CODE (insnt) == SEQUENCE
- && GET_CODE (XVECEXP (insnt, 0, 0)) == JUMP_INSN)
+ else if (GET_CODE (insnt) == INSN
+ && GET_CODE (PATTERN (insnt)) == SEQUENCE
+ && GET_CODE (XVECEXP (PATTERN (insnt), 0, 0)) == JUMP_INSN)
{
- insnt = XVECEXP (insnt, 0, 0);
+ insnt = XVECEXP (PATTERN (insnt), 0, 0);
break;
}
}
@@ -937,10 +938,11 @@ mostly_false_jump (jump_insn, condition)
{
if (GET_CODE (insnj) == JUMP_INSN)
break;
- else if (GET_CODE (insnj) == SEQUENCE
- && GET_CODE (XVECEXP (insnj, 0, 0)) == JUMP_INSN)
+ else if (GET_CODE (insnj) == INSN
+ && GET_CODE (PATTERN (insnj)) == SEQUENCE
+ && GET_CODE (XVECEXP (PATTERN (insnj), 0, 0)) == JUMP_INSN)
{
- insnj = XVECEXP (insnj, 0, 0);
+ insnj = XVECEXP (PATTERN (insnj), 0, 0);
break;
}
}
@@ -949,7 +951,7 @@ mostly_false_jump (jump_insn, condition)
|| (GET_CODE (PATTERN (insnj)) == SET
&& GET_CODE (SET_SRC (PATTERN (insnj))) == REG
&& REGNO (SET_SRC (PATTERN (insnj))) == 1)))
- insnt = 0;
+ insnj = 0;
/* Predict to not return. */
if ((insnt == 0) != (insnj == 0))