On Tue, 2015-02-24 at 19:23 +0100, Georg-Johann Lay wrote:

> 
> The latest pass which runs before the crash is .split5, i.e. 
> recog.c::pass_split_for_shorten_branches which executes 
> split_all_insns_noflow 
> which in turn reads:
> 
> /* Same as split_all_insns, but do not expect CFG to be available.
>     Used by machine dependent reorg passes.  */
> 
> unsigned int
> split_all_insns_noflow (void)
> { ...
> 
> Does this mean CFG is (or might be) messed up after this pass and this is the 
> reason for why df crashes because df needs correct CFG?

Yes, the CFG is only valid until some point.  E.g. on SH it stops being
valid after the machine reorg pass the latest (PR 59189).  Doing
anything CFG related after split5 might not be a good idea.

Cheers,
Oleg

Reply via email to