This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Code motion around labels
- To: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner)
- Subject: Re: Code motion around labels
- From: law at redhat dot com
- Date: Fri, 13 Apr 2001 14:42:28 -0700
- cc: gcc at gcc dot gnu dot org
- Reply-To: law at redhat dot com
In message <10104132128.AA18847@vlsi1.ultra.nyu.edu>you write:
> Well I don't see anyplace where it consults the CFG either, nor am
> I sure how you'd encode the restriction in the CFG. What did you
> mean?
Presumably you're talking about gcse/lcm? Look at the code in lcm.c
and sbitmap.c
Look for stuff like sbitmap_{union,intersection}_of_{preds,succs} and
how they're used to merge information from multiple edges at joins
in the CFG.
The information you want to encode in the CFG is from what points are
those labels reachable. ie, compute an accurate CFG and the code motion
algorithms will DTRT. You may want to refer to recent texts which
describe how these algorithms work.