On Tue, Dec 3, 2024 at 2:55 AM Jeff Law <jeffreya...@gmail.com> wrote:
>
>
>
> On 12/2/24 1:55 AM, Richard Biener wrote:
> > On Sun, Dec 1, 2024 at 11:15 PM 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.
> >
> > It's a misguided hook that when applied in a subset of frontends ends
> > up generating
> > wrong code when doing multi-language LTO.  I requested moving it's handling 
> > to
> > RTL expansion where we can apply it consistently.
> It's probably a fair assessment that if a language FE is doing something
> like that, then it's going to be problematic for LTO.
>
> So maybe the question morphs into whether or not HJ's patch takes us
> down that path and if so, then shouldn't we be looking to remove the FE
> uses?  And if we do that, how do we get a degree of confidence that we

My second patch in the series:

https://patchwork.sourceware.org/project/gcc/list/?series=41009
https://patchwork.sourceware.org/project/gcc/patch/20241121060255.774789-3-hjl.to...@gmail.com/

does that.

> haven't accidentally twiddled the ABI in a meaningful way.

There are no regressions on x86-64.  All outgoing char/short
arguments are extended to int.  It exposes an x86 intrinsic bug:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117547

and fixes the Fortran bug pointed out by Ricard:

https://gcc.gnu.org/pipermail/gcc-patches/2024-November/667559.html

>
>
> >
> > This particular patch looks OK to me (but as said elsewhere I'm not
> > very familiar with calls.cc and it's peculiarities).
> I didn't see anything particularly concerning other than the overarching
> question of using what had been a language FE hook in calls.cc.  I'm
> obviously leery of changing ABI stuff this late in the game and would
> generally prefer to defer something like that until the next stage1.
> jeff
>


-- 
H.J.

Reply via email to