This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [tree-ssa] RFC: Making control flow more explicit


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]