On Mon, Dec 2, 2024 at 6:15 AM Jeff Law <jeffreya...@gmail.com> wrote:
>
>
>
> On 11/27/24 3:34 PM, H.J. Lu wrote:
> > On Thu, Nov 21, 2024, 2:02 PM H.J. Lu <hjl.to...@gmail.com
> > <mailto:hjl.to...@gmail.com>> wrote:
> >
> >     Promote integer arguments smaller than int if TARGET_PROMOTE_PROTOTYPES
> >     returns true.
> >
> >              PR middle-end/14907
> >              * calls.c (initialize_argument_information): Promote small
> >     integer
> >              arguments if TARGET_PROMOTE_PROTOTYPES returns true.
> This doesn't look right.  Promotions are primarily driven by the target
> files, in particular TARGET_PROMOTE_FUNCTION_MODE.
>
> PROMOTE_PROTOTYPES is more of a language front-end hook and it doesn't
> seem appropriate to be testing it in calls.cc.

TARGET_PROMOTE_PROTOTYPES isn't used by all frontends since
it isn't required by the ABI.  It is an option to extend the upper bits in
the 32-bit outgoing integer slots when the argument type is smaller
than int.   Since it is for outgoing arguments, it is appropriate to do it
when expanding the call.

>
>
> Jeff

-- 
H.J.

Reply via email to