Fix PR15293: ARM codegen ice - expected larger existing stack allocation

Stepan Dyatkovskiy stpworld at narod.ru
Sun Apr 28 09:14:16 PDT 2013


Hello Renato,

Currently this "waste" logic has the place in HandleByVal. In my last 
commit (r180011) I've just fixed some AAPCS statements, keeping the same 
logic and assumptions as in HandleByVal everywhere in parameters passing.

Generally I have the same opinion - don't waste registers if you don't 
need it. That's why I want to implement proper support of byval 
attribute. As side effect it also fixes "waste" behaviour.

So, now I'm step-by-step trying to resolve issue you are talking about :-)

-Stepan.

Renato Golin wrote:
> On 28 April 2013 07:08, Stepan Dyatkovskiy <stpworld at narod.ru
> <mailto:stpworld at narod.ru>> wrote:
>
>     Renato Golin wrote:
>
>         However, you don't have to waste the registers that are not used
>         because
>         of alignment. You can still use them as scratch registers, since
>         they'll
>         never be used for argument passing anyway.
>
>     So..  should we improve the term of "shadowed registers" then? May
>     be create an issue?
>
>
> I'm not sure I follow you.
>
> These registers are not shadowed, they're just unused. LLVM knows that
> and it already uses it because they're not wasted, they're just unreserved.
>
> I don't think we need any special rule here, only not to reserve them if
> you're not going to use it.
>
> cheers,
> --renato




More information about the llvm-commits mailing list