On 2011/10/18 04:03 PM, Eric Botcazou wrote: >> thread_prologue_and_epilogue_insns should detect all cases where a >> return insn can be created. So any CFG cleanup that runs before it does >> not need this functionality. > > So we're left with CFG cleanups that run after it and could forward edges to > an > edge from a return insn to the exit block in order to build a new return insn.
Bernd, why can't we simply remove the assertion? The pre-reload case will fail at validation and return 0, matching pre-reload, pre-shrink-wrap behavior, while any possible remaining post-reload redirection to the exit block can just use 'ret_rtx' as the rare fallback (I see you have retained the NULL case in redirect_target()) Chung-Lin