This is the mail archive of the gcc-patches@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: [tree-profiling-branch PATCH IPCP extensions + Function cloning


> 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


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