[cfe-dev] limiting inlining

Eli Friedman eli.friedman at gmail.com
Fri Sep 25 10:53:25 PDT 2009


On Fri, Sep 25, 2009 at 4:43 AM, Roman Divacky <rdivacky at freebsd.org> wrote:
> On Fri, Sep 25, 2009 at 03:43:37AM -0700, Eli Friedman wrote:
>> On Fri, Sep 25, 2009 at 12:52 AM, Roman Divacky <rdivacky at freebsd.org> wrote:
>> > On Thu, Sep 24, 2009 at 02:31:10PM -0700, Mike Stump wrote:
>> >> On Sep 24, 2009, at 2:10 PM, Roman Divacky wrote:
>> >> >we need that for our bootloader... it needs to fit into a given size.
>> >>
>> >> Would -Os be better?
>> >
>> > this is what we have currently:
>> >
>> > clang -Os ?-fno-guess-branch-probability ?-fomit-frame-pointer ?-mno-align-long-strings ?-mrtd ?-mno-mmx
>> > -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 ?-DUFS1_AND_UFS2 ?-DFLAGS=0x80 ?-DSIOPRT=0x3f8 ?-DSIOFMT=0x3
>> > -DSIOSPD=9600 ?-I/usr/src/sys/boot/i386/boot2/../../common ?-I/usr/src/sys/boot/i386/boot2/../btx/lib -I. ?-Wall
>> > -Waggregate-return -Wbad-function-cast -Wcast-align ?-Wmissing-declarations -Wmissing-prototypes -Wnested-externs
>> > -Wpointer-arith -Wshadow -Wstrict-prototypes -Wwrite-strings ?-Winline --param max-inline-insns-single=100 -mllvm
>> > -inline-threshold=1000 -ffreestanding -mllvm -inline-threshold=1000 -mno-mmx -mno-3dnow -mno-sse -mno-sse2
>> > -mno-sse3 -m32 -march=i386 ?-S -o boot2.s.tmp /usr/src/sys/boot/i386/boot2/boot2.c
>> >
>> > ie. -Os is already there. I wonder why ?the -inline-threshold has no effect.
>>
>> -inline-threshold=1000 is way more aggressive than even -O3 in LLVM.
>> Try something more like -inline-threshold=0.
>
> I tried many values... including 0, it had no effect at all

Oh, oops, I forgot, that option has no effect with clang.

-Eli



More information about the cfe-dev mailing list