diff options
author | Richard Henderson <rth@redhat.com> | 2001-01-07 14:50:50 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2001-01-07 14:50:50 -0800 |
commit | 8cd0792fddd218f00fbfdafde5d11f5d9715c355 (patch) | |
tree | 16f8f7bf561a3299e4c92cde5f20818648f75806 | |
parent | 9c2e06d903eaffa9d196168f1dc0f45cd8361371 (diff) | |
download | gcc-8cd0792fddd218f00fbfdafde5d11f5d9715c355.zip gcc-8cd0792fddd218f00fbfdafde5d11f5d9715c355.tar.gz gcc-8cd0792fddd218f00fbfdafde5d11f5d9715c355.tar.bz2 |
jump.c (simplejump_p): Recognize any single_set jump of the proper form.
* jump.c (simplejump_p): Recognize any single_set jump
of the proper form.
From-SVN: r38786
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/jump.c | 19 |
2 files changed, 20 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 12d2540..304c7de 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2001-01-07 Richard Henderson <rth@redhat.com> + * jump.c (simplejump_p): Recognize any single_set jump + of the proper form. + +2001-01-07 Richard Henderson <rth@redhat.com> + * configure.in (slibdir): Accept an --with-slibdir option. Use "test" not "[" in configure. Default to $(libdir). @@ -2161,10 +2161,21 @@ int simplejump_p (insn) rtx insn; { - return (GET_CODE (insn) == JUMP_INSN - && GET_CODE (PATTERN (insn)) == SET - && GET_CODE (SET_DEST (PATTERN (insn))) == PC - && GET_CODE (SET_SRC (PATTERN (insn))) == LABEL_REF); + rtx set; + + if (GET_CODE (insn) != JUMP_INSN) + return 0; + + set = PATTERN (insn); + if (GET_CODE (set) != SET) + { + set = single_set_1 (insn); + if (set == NULL_RTX) + return 0; + } + + return (GET_CODE (SET_DEST (set)) == PC + && GET_CODE (SET_SRC (set)) == LABEL_REF); } /* Return nonzero if INSN is a (possibly) conditional jump |