This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: On inlining in C++



On Tuesday, Aug 5, 2003, at 22:00 US/Eastern, Joe Buck wrote:



There are tons of messages in this (or related thread) so it might be
possible that I missed a message that disagreed with the
interpretation of the documentation I quoted.  Can you give reference
to such a message?

On Tue, Aug 05, 2003 at 11:16:56AM -0700, Geoff Keating wrote:
I would point out that the documentation says "as fast as a macro",
but it should really say "as fast or faster than a macro".

Ah, but even if we fix the inlining issues, we still aren't keeping the
promise: inline functions are still slower in many cases if struct/class
objects with more than one member are passed by reference.
(but that macro is not equivalent to that function).

Compile the following code with "gcc -O2 -S il.C" using the trunk on x86,
and take a look. The problem is that we prematurely commit the tmp object
to the stack, even though after inlining its address is not taken.

Yes this is a know defect in gcc which should be fixed soon on the tree-ssa branch,
it is not yet but it should be soon.


Thanks,
Andrew Pinski


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]