This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [tree-ssa] RFC: Making control flow more explicit
- From: Jason Merrill <jason at redhat dot com>
- To: Diego Novillo <dnovillo at redhat dot com>
- Cc: "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>, Jason Merrill <jason at redhat dot com>
- Date: Thu, 07 Aug 2003 14:45:04 -0400
- Subject: Re: [tree-ssa] RFC: Making control flow more explicit
- References: <1060205876.3122.55.camel@frodo.toronto.redhat.com>
I think that the WHIRL example is relevant here.
VHWHIRL is very close to the source, with arbitrary nesting of constructs.
This corresponds to GENERIC. Inlining is done at this level in both their
compiler and ours (except that all the frontends currently lower straight
to GIMPLE, but that's another issue).
HWHIRL breaks apart nested expressions (calls, comma ops), but still
retains control flow structures. This corresponds to (current) GIMPLE.
Apparently the SGI compiler does IPA, LNO (huh?) and "the PREOPT part of
the global scalar optimizer" at this level.
MWHIRL lowers all control flow to gotos, possibly conditional or computed.
This seems to be what you're looking for. We probably want to define a
lower GIMPLE to match, and do the lowering somewhere in the middle of
optimization.
Jason