[tree-profiling-branch PATCH IPCP extensions + Function cloning

Razya Ladelsky RAZYA@il.ibm.com
Mon Jan 17 10:02:00 GMT 2005


> What makes templates so special so you want to avoid the versioning
> here?

Many libstdc++ tests failed when we versioned templates.
I'll continue to investigate this, in the meantime I want to avoid it.

>> bootstrap failed until this change was done...
>>

> Hmm, this sounds like latent inliner (or at least copy_body) bug.  Would
> you mind to explain what went wrong without this hunk?

When copying the edge between the EXIT block and its predecessor, the 
flags of the original edge
are not copied, but it is assigned with FALLTHROUGH flag. 
It appears that there are some functions in which this particular edge has 
a different flag. Copying the
cfg of such a function, in such manner, causes ICE for the copied version. 
(The cfg verification fails 
if I remember correctly.)
I can try and recreate this case if you wish. 

Razya



More information about the Gcc-patches mailing list