Path: utzoo!attcan!uunet!wuarchive!brutus.cs.uiuc.edu!tut.cis.ohio-state.edu!ucbvax!hplabs!hp-ses!hpcea!hpdtl!wallace
From: wallace@hpdtl.HP.COM (David E. Wallace)
Newsgroups: comp.lang.c
Subject: Re: Re^2: Oh noooooo!!
Message-ID: <7020006@hpdtl.HP.COM>
Date: 28 Sep 89 17:49:13 GMT
References: <556@tigger.planet.bt.co.uk>
Organization: HP Design Tech. Lab., Palo Alto, CA
Lines: 15

In article <14052@lanl.gov>, jlg@lanl.gov (Jim Giles) writes:
> This jump is allowed by C but not by Fortran.  In fact, even the
...
> So, the optimizer for C _cannot_ be any simpler than that for
> Fortran.

Sure it can.  Just turn off flow-based optimization for any program unit that
contains a goto (or that contains a backwards goto, or that contains a goto
that is not trivially recognizeable as a loop exit, or whatever).
Since 99.999% of all C program units contain no gotos, this is a perfectly
viable option for a C compiler.  The same cannot be said of Fortran: any
Fortran optimizer that followed this strategy would find that it wasn't doing
enough optimization to be generally useful.

Dave W.