This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [tree-ssa] Removal of gotos from cfg based ir
- From: law at redhat dot com
- To: Chris Lattner <sabre at nondot dot org>
- Cc: Zdenek Dvorak <rakdver at atrey dot karlin dot mff dot cuni dot cz>, Diego Novillo <dnovillo at redhat dot com>, Andrew Macleod <amacleod at redhat dot com>, gcc-patches <gcc-patches at gcc dot gnu dot org>, Jan Hubicka <jh at suse dot cz>
- Date: Fri, 14 Nov 2003 13:06:28 -0700
- Subject: Re: [tree-ssa] Removal of gotos from cfg based ir
- Reply-to: law at redhat dot com
In message <Pine.LNX.4.44.0311140104370.31354-100000@nondot.org>, Chris Lattner
writes:
>On Fri, 14 Nov 2003, Chris Lattner wrote:
>
>> On Fri, 14 Nov 2003, Zdenek Dvorak wrote:
>> > > FWIW, LLVM does the exact opposite of this: the CFG is implicitly defin
>ed
>> > > by the goto's in the program (as opposed to Zdenek's design, where the
>> > > gotos are implicitly defined by the CFG).
>> >
>> > how do you get the edges in the cfg then?
>>
>> Def-use edges, which are tracked for all SSA values.
>
>Sorry for the terseness. Def-use edges are used to get predecessors,
>use-def edges are used to get successors.
Sorry if I'm being overly dense -- I don't see how def-use or use-def
gets you control edges. Unless you do something like build the SSA
graph for jump targets/jump statements. Is that what LLVM does
(if so, I'll have to sit down and think about that for a while, it's
an interesting idea... )
jeff