public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Critical edge splitting inconsistency
@ 2004-09-17 23:31 Jan Hubicka
  2004-09-18 10:43 ` Daniel Berlin
  0 siblings, 1 reply; 2+ messages in thread
From: Jan Hubicka @ 2004-09-17 23:31 UTC (permalink / raw)
  To: gcc, rakdver, stevenb, dberlin

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?

Honza

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Critical edge splitting inconsistency
  2004-09-17 23:31 Critical edge splitting inconsistency Jan Hubicka
@ 2004-09-18 10:43 ` Daniel Berlin
  0 siblings, 0 replies; 2+ messages in thread
From: Daniel Berlin @ 2004-09-18 10:43 UTC (permalink / raw)
  To: Jan Hubicka; +Cc: gcc, rakdver, stevenb



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
>

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2004-09-18  3:08 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-09-17 23:31 Critical edge splitting inconsistency Jan Hubicka
2004-09-18 10:43 ` Daniel Berlin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).