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: