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: [PATCH][RFC] Make called function type explicit, make function pointer type conversions useless


On Thu, 14 Apr 2011, Eric Botcazou wrote:

> > This is the "real" fix for PR46076 that I wanted to persue.  Make
> > function pointer type conversions useless as to more aggressively
> > be able to turn indirect into direct calls.  This requires that we
> > preserve the original type signature of the called function as
> > presented by the frontend.  The patch does that by adding a fntype
> > field to every call stmt in GIMPLE and extract this information
> > during gimplification.
> 
> The patch is incomplete though: the type is preserved at the GIMPLE level but 
> is dropped at the RTL level, so you can get call convention mismatches.  The
> attached patch is needed to cure the 3 ACATS failures on x86:
> 
> FAIL:   c431001
> FAIL:   c731001
> FAIL:   ca11c02
> 
> I think the GIMPLE->Tree->RTL interface would need to be audited here.

Bah, and I grepped for all gimple_call_fn\ ( occurances specifically
looking for this one, didn't find it and wondered about it ...
I should have looked closer.  This should btw be the only place that
needs adjustments.

The patch is ok, obviously.

Thanks,
Richard.


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