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.