This is the mail archive of the
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.email@example.com>, Chris Lattner
>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
>> > > 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... )