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.