Critical edge splitting inconsistency

Daniel Berlin dberlin@dberlin.org
Sat Sep 18 10:43:00 GMT 2004



On Fri, 17 Sep 2004, Jan Hubicka wrote:

> Hi,
> while looking into unrelated problem on tree-profiling branch I noticed
> that we currently split critical edges before PRE and then cleanup_cfg
> iff PRE appears to modify CFG.  This means that sometimes we keep the
> edges split after pre pass but sometimes we don't.  This just looks
> inconsistent as someone might jump into assumption that edges are always
> split in the later pass (or into reversed one).
> Would be possible to take care of this somehow?  Perhaps the critical
> edge spliteness can be made a property of CFG for the pass manager?

Sure.
But here's the interesting part:

Right now, the pass manager is only verifying properties statically.
This means that even if the gating function for the pass makes it so the 
pass doesn't execute, it still assumes it provides the property.

So we can't tell if we actually need to redo something like critical 
edge splitting, in order to provide the necessary properties.

It's kind of like a property that we can regenerate any time it's 
necessary.

>
> Honza
>



More information about the Gcc mailing list