[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#624854: gcc-4.6: inlining issues when __attribute__((flatten)) is used



On Mon, May 02, 2011 at 11:28:45AM +0200, Matthias Klose wrote:
> On 05/02/2011 10:35 AM, Pierre Habouzit wrote:
> >Package: gcc-4.6
> >Version: 4.6.0-6
> >Severity: important
> >
> >
> >The bug is fixed upstream please backport it, it's r172963 in the
> >gcc-4.6 branch.
> 
> 4.6.0-6 is based on r173059. what are you testing?

Huh indeed, the fix for the va_args is here, so it's a separate issue,
crap.

well I have a compilation unit of 2k SLOC approximatively that uses
flatten for a few functions. If I remove the flatten attribute, then the
build is sub-second. If I reenable them then the build doesn't finish
under two minutes here. I assumed that it was because it tried to inline
way too many things as a result of the problem r172963 fixes.

There are also functions that are marked __attribute__((noinline)) in
that compilation unit, and I can reproduce the totally awful build times
if I remove those attributes with gcc-4.5.

So I assume that gcc-4.6 disregards __attribute__((noinline)) when it
inlines inside an __attribute__((flatten)), which I think is incorrect.

Sorry I mixed both issues, I assumed it was the same, it's probably not
in the end.
-- 
·O·  Pierre Habouzit
··O                                                madcoder@debian.org
OOO                                                http://www.madism.org



Reply to: