This is the mail archive of the 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: [PATCH, devirtualization] Detect the new type in type change detection

On 27/10/2011, at 12:22 PM, Martin Jambor wrote:

> Hi,
> I've been asked by Maxim Kuvyrkov to revive the following patch which
> has not made it to 4.6.  Currently, when type based devirtualization
> detects a potential type change, it simply gives up on gathering any
> information on the object in question.  This patch adds an attempt to
> actually detect the new type after the change.
> Maxim claimed this (and another patch I'll post tomorrow) noticeably
> improved performance of some real code.  I can only offer a rather
> artificial example in the attachment.  When the constructors are
> inlined but the function multiply_matrices is not, this patch makes
> the produced executable run for only 7 seconds instead of about 20 on
> my 4 year old i686 desktop (with -Ofast).


Thank you for pushing this patch forward.  This patch fixes one of the inlining/devirtualization tests I posted in another thread.  It also removes one of the roadblocks for several of the other tests to pass.

Maxim Kuvyrkov
CodeSourcery / Mentor Graphics

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