Date: Wed, 13 Sep 2006 22:23:18 -0700 From: Gary Kline <kline@sage.thought.org> To: Mark Andrews <Mark_Andrews@isc.org> Cc: Gary Kline <kline@sage.thought.org>, freebsd-stable@freebsd.org, Stefan Lambrev <stefan.lambrev@sun-fish.com> Subject: Re: optimization levels for 6-STABLE build{kernel,world} Message-ID: <20060914052318.GC92358@thought.org> In-Reply-To: <200609140002.k8E02b11073990@drugs.dv.isc.org> References: <20060913234934.GA92067@thought.org> <200609140002.k8E02b11073990@drugs.dv.isc.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Sep 14, 2006 at 10:02:37AM +1000, Mark Andrews wrote: > > > On Wed, Sep 13, 2006 at 12:17:15PM +0300, Stefan Lambrev wrote: > > > Hello, > > > > > > Oliver Fromme wrote: > > > >Marc G. Fournier <freebsd@hub.org> wrote: > > > > > What are ppl currently using for CFLAGS/COPTFLAGS in /etc/make.conf for > > > > > > > building kernel/world? I know awhile back it wasn't recommended to go > > > > > above -O2, for instance, but suspect that has changed ... ? > > > > > > > >The best optimization is probably to not override the > > > >defaults at all, because they're already pretty optimal. > > > >In fact, by overriding the defaults there's a good chance > > > >to make things worse. :-) > > > > > > > >The default CFLAGS are "-O2 -pipe -fno-strict-aliasing". > > > >Anything above -O2 isn't supported, and using -O2 without > > > >-fno-strict-aliasing also isn't supported (and will create > > > >broken code for some programs). A common mistake is to > > > >specify CFLAGS="-O2 -pipe" and omit -fno-strict-aliasing. > > > >That'll shot you in the foot sooner or later. > > > > > > > >Best regards > > > > Oliver > > > > [[ ... ]] > > > > > > A couple of things. Will having gcc unroll loops have any > > negative consequences? (I can't imagine how:: but better > > informed than to have something crash inexplicability.) > > With 6.X safe at -O2 and with -funroll-loops, that should be > > a slight gain, right? (It also will make an upgrade from 5.5 > > to 6.[12] that much more rational.) > > > > [Dumb] questions:: first, what does the compiler do with > > "-fno-strict-aliasing"? And is there any guess, any SWAG even, > > on when FreeBSD will safe with -O3?? > > Lots of code is not strict-aliasing safe. Gcc itself can't > determine all the cases which a construct is not strict-aliasing > safe so even after getting rid of all the warnings gcc > produces you can't be sure your code is strict-aliasing > safe. Think of -fstrict-aliasing as optimisation without > a saftey net. If your code doesn't cast pointers you should > be safe otherwise you need to be really, really, really > careful when you turn this on. > Well, my own pointer code is pretty trustworthy. It's also pretty simple-minded and thoroughly tested, even tho it's just for my own use. Other's code, dunno. People who cut their teeth on pointers and may be just a wee bit cavalier: *Bzzz* Point well taken. -- Gary Kline kline@thought.org www.thought.org Public service Unix
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060914052318.GC92358>