aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorKaz Kojima <kkojima@gcc.gnu.org>2004-08-18 12:24:16 +0000
committerKaz Kojima <kkojima@gcc.gnu.org>2004-08-18 12:24:16 +0000
commit03904fb39d9e6e8ef4686e35eb0809e42617dc4b (patch)
treecede0f087c27e792e3520a46b921a537e9855b93 /gcc
parent0bf4330958042e3e499c6dc5f37e120354c58319 (diff)
downloadgcc-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/ChangeLog7
-rw-r--r--gcc/config/sh/sh.c6
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);