builtin_apply et al

Richard Earnshaw (Lists) Richard.Earnshaw@arm.com
Fri Apr 16 17:35:00 GMT 2004


On Fri, 2004-04-16 at 17:16, Nathan Sidwell wrote:
> Hi,
> I've fallen over a problem with builtin apply, namely it is thinking
> the mode of the function return register is 'DImode', when it never is
> in my case. Examining further I find that
> 
> 1) apply_args_size says 'The values computed by this function never change'
> yet uses cfun->decl in determining the size.
> 
> 2) apply_result_size says 'I'm not sure this is right, but it works so far.'
> That just fills me with confidence.
> 
> 3) expand_builtin_apply appears to only consider structure returns as
> candidates for a hidden parameter, and the code here does not appear
> to mirror that in emit_call_1, which caters for other types being returned
> that way too (and for a static pcc structure return too).
> 
> I can see that the builtin_apply *might* be useful somewhere, but is it
> really being used beyond test cases?
> 
> Dare I suggest deprecating this 'feature'? (rather than fixing it)
> 
> nathan

Ever since the recent band-aid to that code it's not been possible to
return a double-precision value on a machine that has 32-bit registers
and runs soft-float.

I'd vote for getting rid of it.  However, it appears to be used in
libobjc.

R.



More information about the Gcc mailing list