This is the mail archive of the
mailing list for the GCC project.
Re: [tree-ssa] Removal of gotos from cfg based ir
On Fri, Nov 14, 2003 at 11:16:45AM -0500, Andrew MacLeod wrote:
> Normally, it would only be a CALL_EXPR inside the abnorm wouldn't it?
No. Functions often return values.
> If thats the case, and we'd have to wrap every MODIFY like this, couldnt
> we come up with a way of treating an entire block as a list of possible
> trapping stmts, and do something different to handle that kind of beast?
> They are all going to the same location aren't they?
If they really all do trap, then they will all be in different
basic blocks, one to a block. Of necessity. If you try to do
differently, you'll screw up the data flow.
> why not just create one in RTL land when we need it using the
> same datastructures? I dont think at -O0 I want a CFG in either IL,
We *always* need a CFG in rtl. We need it for register allocation.
> and it seems like a restriction to force entry into RTL to have a CFG
> already created. I dont think the front end and the back end ought to
> be that tightly coupled...
Ah hah, that's a point of disconnect. The front end should only
call tree_rest_of_compilation, and then *everything* happens there
behind the scenes. This is, shockingly, a vast improvement over
the situation on mainline.