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).
Martin, 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