This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH] Fix eipa_sra AAPCS issue (PR target/65956)
- From: Richard Earnshaw <Richard dot Earnshaw at foss dot arm dot com>
- To: Jakub Jelinek <jakub at redhat dot com>
- Cc: Richard Biener <rguenther at suse dot de>, gcc-patches at gcc dot gnu dot org, Martin Jambor <mjambor at suse dot de>, Alan Lawrence <alan dot lawrence at arm dot com>
- Date: Tue, 05 May 2015 14:02:19 +0100
- Subject: Re: [PATCH] Fix eipa_sra AAPCS issue (PR target/65956)
- Authentication-results: sourceware.org; auth=none
- References: <20150502082437 dot GW1751 at tucnak dot redhat dot com> <alpine dot LSU dot 2 dot 11 dot 1505040950230 dot 20496 at zhemvz dot fhfr dot qr> <20150504150011 dot GD1751 at tucnak dot redhat dot com> <20150505073228 dot GH1751 at tucnak dot redhat dot com> <5548A174 dot 4010208 at foss dot arm dot com> <5548A327 dot 3080103 at foss dot arm dot com> <A290B716-CC90-4AB9-A14C-768C7623AA83 at suse dot de> <5548BBBC dot 7060000 at foss dot arm dot com> <5548BC73 dot 8030506 at foss dot arm dot com> <20150505125431 dot GJ1751 at tucnak dot redhat dot com>
On 05/05/15 13:54, Jakub Jelinek wrote:
> On Tue, May 05, 2015 at 01:49:55PM +0100, Richard Earnshaw wrote:
>> The real question here is why is TYPE the type of the value, rather than
>> the type of the formal as expressed by the prototype (or implicit
>> prototype in the case of variadics or K&R)? Surely this is the mid-end
>> passing the wrong information to the back-end.
> There is nothing else for unnamed arguments (K&R, stdarg).
> For named arguments, the backend has the option to save the fntype in
> CUMULATIVE_ARGS and look it up when it needs that. But, that will
> still mean K&R and stdarg will be just broken on arm.
In a literal sense, yes. However, even K&R & stdarg have standard
promotion and conversion rules (size < int => int, floats promoted to
double, etc). What are those rules for GCC's overaligned types (ie
where in the docs does it say what happens and how a back-end should
interpret them)? Shouldn't the mid-end be doing that work so as to
create a consistent view of the values passed into the back-end? It
seems to me that at present the back-end has to be psychic as to what is