This is the mail archive of the
mailing list for the GCC project.
Re: Puzzle about CFG on rtl during delay slot schedule
On Fri, Apr 2, 2010 at 12:41 PM, Amker.Cheng <email@example.com> wrote:
>> The CFG is not maintained during delay slot scheduling. This is, in
>> fact, a very old and well-known problem. Look for any e-mail on this
>> list that mentions reorg.c :-)
> Thanks, further more , It seems cfg are not maintained after delay
> slot scheduling.
> also find that problem just before final pass.
Yes. The CFG is constructed on GIMPLE and then maintained all the way
through to reorg.c (or actually pass_free_cfg). Once destroyed, we
cannot resurrect the CFG.
In a perfect world, reorg.c would get a rewrite and we'd maintain the
CFG all the way through to final. But in practice, reorg.c is not the
only problem (for example, var-tracking also destroys the CFG, as do
most machine reorgs).