> Note I haven't done an extensive check to see if compgotos is the only
> phase that goes back into cfglayout mode after bb reordering is done,
> that's just the one that hit this. Eventually it might be good to
> prevent going into cfglayout mode after bb reordering.

Can we just try to abort when into cfg layout is called after
bb reorder.  It seems to make sense to avoid that - in/out will
definitely result in misplaced gotos and toher stuff.
> 
> For now we could either fix up the layout as I am doing here. Or as
> you suggest, prevent some cleanup/cfg optimization after bb reordering
> is done. I thought about preventing the forwarding optimization after
> bb reordering when splitting was on initially, but didn't want
> enabling -freorder-blocks-and-partition to unnecessarily prevent
> optimization. The reordering seemed reasonably straightforward so I
> went with that solution in this patch.
> 
> Let me know if you'd rather have the solution of preventing the
> forwarding (or maybe all all of try_optimize_cfg to be safe) under
> -freorder-blocks-and-partition after bb reordering.

Generally I would like to be consistent about the stage of IL - i.e. go to
cfglayout after RTl expanstion and stay in it until after the bb reorder and
then consistently work with the actual insns layout we decided on.

Honza
> 
> Thanks,
> Teresa
> 
> >
> > Honza
> 
> 
> 
> -- 
> Teresa Johnson | Software Engineer | tejohn...@google.com | 408-460-2413

Reply via email to