This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: How to update reg_dead notes


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]