From 03904fb39d9e6e8ef4686e35eb0809e42617dc4b Mon Sep 17 00:00:00 2001 From: Kaz Kojima Date: Wed, 18 Aug 2004 12:24:16 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 7 +++++++ gcc/config/sh/sh.c | 6 +++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1a88c7f441b..a16eabf0f07 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2004-08-18 Kaz Kojima + + * 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 * rtl.h (MEM_READONLY_P): Replace RTX_UNCHANGING_P. diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c index 6b72e491288..950b096be60 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); -- 2.30.2