diff options
author | Kaz Kojima <kkojima@gcc.gnu.org> | 2004-08-18 12:24:16 +0000 |
---|---|---|
committer | Kaz Kojima <kkojima@gcc.gnu.org> | 2004-08-18 12:24:16 +0000 |
commit | 03904fb39d9e6e8ef4686e35eb0809e42617dc4b (patch) | |
tree | cede0f087c27e792e3520a46b921a537e9855b93 /gcc | |
parent | 0bf4330958042e3e499c6dc5f37e120354c58319 (diff) | |
download | gcc-03904fb39d9e6e8ef4686e35eb0809e42617dc4b.zip gcc-03904fb39d9e6e8ef4686e35eb0809e42617dc4b.tar.gz gcc-03904fb39d9e6e8ef4686e35eb0809e42617dc4b.tar.bz2 |
sh.c (split_branches): Check the result of next_active_insn.
* config/sh/sh.c (split_branches): Check the result of
next_active_insn.
(sh_output_mi_thunk): Call init_flow if basic_block_info is null.
Call rtl_register_cfg_hooks.
From-SVN: r86181
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/sh/sh.c | 6 |
2 files changed, 12 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1a88c7f..a16eabf 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2004-08-18 Kaz Kojima <kkojima@gcc.gnu.org> + + * config/sh/sh.c (split_branches): Check the result of + next_active_insn. + (sh_output_mi_thunk): Call init_flow if basic_block_info is null. + Call rtl_register_cfg_hooks. + 2004-08-18 Richard Henderson <rth@redhat.com> * rtl.h (MEM_READONLY_P): Replace RTX_UNCHANGING_P. diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c index 6b72e49..950b096 100644 --- a/gcc/config/sh/sh.c +++ b/gcc/config/sh/sh.c @@ -4598,7 +4598,8 @@ split_branches (rtx first) next = next_active_insn (insn); if ((GET_CODE (next) == JUMP_INSN - || GET_CODE (next = next_active_insn (next)) == JUMP_INSN) + || ((next = next_active_insn (next)) + && GET_CODE (next) == JUMP_INSN)) && GET_CODE (PATTERN (next)) == SET && recog_memoized (next) == CODE_FOR_jump_compact && ((INSN_ADDRESSES @@ -9726,6 +9727,9 @@ sh_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED, if (optimize > 0 && flag_schedule_insns_after_reload) { + if (! basic_block_info) + init_flow (); + rtl_register_cfg_hooks (); find_basic_blocks (insns, max_reg_num (), dump_file); life_analysis (dump_file, PROP_FINAL); |