Hi, The attached patch is to fix PR target/50068. sh_output_mi_thunk calls dbr_schedule which doesn't expect to be called in that situation. Although we could set the environment in output_mi_thunk in such a way to enable dbr_schedule, it looks a bit overkill for this relatively rare optimization. The patch simply removes that use of dbr_schedule. Tested on sh4-unknown-linux-gnu with no new failures. Applied on trunk.
Regards, kaz -- 2011-08-17 Kaz Kojima <kkoj...@gcc.gnu.org> PR target/50068 * config/sh/sh.c (sh_output_mi_thunk): Don't call dbr_schedule. --- ORIG/trunk/gcc/config/sh/sh.c 2011-07-29 09:31:42.000000000 +0900 +++ trunk/gcc/config/sh/sh.c 2011-08-16 16:46:19.000000000 +0900 @@ -11711,10 +11711,6 @@ sh_output_mi_thunk (FILE *file, tree thu } sh_reorg (); - - if (optimize > 0 && flag_delayed_branch) - dbr_schedule (insns); - shorten_branches (insns); final_start_function (insns, file, 1); final (insns, file, 1);