------- Additional Comments From rguenth at tat dot physik dot uni-tuebingen 
dot de  2004-12-07 15:35 -------
Subject: Re:  [4.0 Regression] Inlining limits
 cause 340% performance regression

On Tue, 7 Dec 2004, Richard Guenther wrote:

> static inline void foo() {}
> void bar() { foo(); }
>
> which for -O2 -fprofile-generate produces
>
> bar:
>         addl    $1, .LPBX1
>         pushl   %ebp
>         movl    %esp, %ebp
>         adcl    $0, .LPBX1+4
>         addl    $1, .LPBX1+16
>         popl    %ebp
>         adcl    $0, .LPBX1+20
>         addl    $1, .LPBX1+8
>         adcl    $0, .LPBX1+12
>         ret

Mainline manages to produce

bar:
        addl    $1, .LPBX1
        pushl   %ebp
        movl    %esp, %ebp
        adcl    $0, .LPBX1+4
        popl    %ebp
        ret

but that's RTL instrumentation?



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18704

Reply via email to