How to update reg_dead notes
Oleg Endo
oleg.endo@t-online.de
Tue Feb 24 18:40:00 GMT 2015
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
More information about the Gcc
mailing list