From owner-freebsd-current Mon Apr 5 23:22:48 1999 Delivered-To: freebsd-current@freebsd.org Received: from danberlin.resnet.rochester.edu (danberlin.resnet.rochester.edu [128.151.84.217]) by hub.freebsd.org (Postfix) with SMTP id 78D2715013 for ; Mon, 5 Apr 1999 23:22:44 -0700 (PDT) (envelope-from root@danberlin.resnet.rochester.edu) Received: from localhost (root@localhost) by danberlin.resnet.rochester.edu (950413.SGI.8.6.12/950213.SGI.AUTOCF) via ESMTP id CAA05150; Tue, 6 Apr 1999 02:15:28 -0700 Date: Tue, 6 Apr 1999 02:15:28 -0700 From: Daniel Berlin To: Matthew Dillon Cc: Alex Zepeda , current@FreeBSD.ORG Subject: Re: EGCS optimizations In-Reply-To: <199904060525.WAA04269@apollo.backplane.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG > > There is nothing beyond -O2. Well, there's -O3, which tries to > inline static functions, but that typically isn't beneficial because > it really bloats up the code and subroutine calls on intel cpus are > very fast. > > The only other optimization that might be useful is -fomit-frame-pointer, > but it makes debugging impossible. Incorrect. gdb 4.18 supports frame-pointerless debugging, and gcc will generate the proper DWARF2 info to support it. I've done it before many times. In fact, two of the test programs in the testsuite i use to test my BeOS port of GDB are compiled specifically *with* -fomit-frame-pointer to amke sure the DWARF2 reading and unwinding is working properly. I don't know if it's in the 1.1 branch, i know it's been in the HEAD branch for a while. on the gdb side, i remember seeing it sometime after february, and i've used it since march. Also, if you guys want to play the EGCS benchmark game, let me point you to the *surprise* BENCHMARKS, a link to which can be found on the egcs homepage (as well as test suite results). They are very well organized. Go submit some results so people have more to compare against. Also, -mpentiumpro will actually usually generate WORSE code for a pentium pro. -mpentium and -march=pentium do better at it. I would use -O2 with the 1.1 branch, and -O99 with the head branch. As the benchmarks note, -O6 *IS* faster than -O3 which *IS* faster than -O2. They usually use the higher -O levels to test out experimental optimizations. Another useful optimization is -funroll-loops, which does what you think it does. > > -Matt > Matthew Dillon > > > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-current" in the body of the message > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message