public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [committed] m32r: Fix up m32r_setup_incoming_varargs [PR114175]
@ 2024-03-20 16:06 Jakub Jelinek
  2024-03-20 16:58 ` Jeff Law
  0 siblings, 1 reply; 4+ messages in thread
From: Jakub Jelinek @ 2024-03-20 16:06 UTC (permalink / raw)
  To: gcc-patches

Hi!

Like for x86-64, alpha or rs6000, m32r seems to be affected too.

Just visually checked differences in c23-stdarg-9.c assembly in a cross
without/with the patch, committed to trunk.

2024-03-20  Jakub Jelinek  <jakub@redhat.com>

	PR target/114175
	* config/m32r/m32r.cc (m32r_setup_incoming_varargs): Only skip
	function arg advance for TYPE_NO_NAMED_ARGS_STDARG_P functions
	if arg.type is NULL.

--- gcc/config/m32r/m32r.cc.jj	2024-01-03 11:51:50.204472028 +0100
+++ gcc/config/m32r/m32r.cc	2024-03-20 16:12:15.841512952 +0100
@@ -1287,7 +1287,8 @@ m32r_setup_incoming_varargs (cumulative_
   if (!TYPE_NO_NAMED_ARGS_STDARG_P (TREE_TYPE (current_function_decl)))
     gcc_assert (arg.mode != BLKmode);
 
-  if (!TYPE_NO_NAMED_ARGS_STDARG_P (TREE_TYPE (current_function_decl)))
+  if (!TYPE_NO_NAMED_ARGS_STDARG_P (TREE_TYPE (current_function_decl))
+      || arg.type != NULL_TREE)
     first_anon_arg = (ROUND_ADVANCE_CUM (*get_cumulative_args (cum),
 					 arg.mode, arg.type)
 		      + ROUND_ADVANCE_ARG (arg.mode, arg.type));

	Jakub


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [committed] m32r: Fix up m32r_setup_incoming_varargs [PR114175]
  2024-03-20 16:06 [committed] m32r: Fix up m32r_setup_incoming_varargs [PR114175] Jakub Jelinek
@ 2024-03-20 16:58 ` Jeff Law
  2024-03-20 17:29   ` Jakub Jelinek
  0 siblings, 1 reply; 4+ messages in thread
From: Jeff Law @ 2024-03-20 16:58 UTC (permalink / raw)
  To: Jakub Jelinek, gcc-patches



On 3/20/24 10:06 AM, Jakub Jelinek wrote:
> Hi!
> 
> Like for x86-64, alpha or rs6000, m32r seems to be affected too.
> 
> Just visually checked differences in c23-stdarg-9.c assembly in a cross
> without/with the patch, committed to trunk.
> 
That fixed c23-stdarg-{6,8,9} execution tests.

jeff


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [committed] m32r: Fix up m32r_setup_incoming_varargs [PR114175]
  2024-03-20 16:58 ` Jeff Law
@ 2024-03-20 17:29   ` Jakub Jelinek
  2024-03-20 18:14     ` Jeff Law
  0 siblings, 1 reply; 4+ messages in thread
From: Jakub Jelinek @ 2024-03-20 17:29 UTC (permalink / raw)
  To: Jeff Law; +Cc: gcc-patches

On Wed, Mar 20, 2024 at 10:58:05AM -0600, Jeff Law wrote:
> On 3/20/24 10:06 AM, Jakub Jelinek wrote:
> > Like for x86-64, alpha or rs6000, m32r seems to be affected too.
> > 
> > Just visually checked differences in c23-stdarg-9.c assembly in a cross
> > without/with the patch, committed to trunk.
> > 
> That fixed c23-stdarg-{6,8,9} execution tests.

Thanks for these checks.  All I've done with the remaining targets
today (csky-linux epiphany-elf fr30-elf frv-linux ft32-elf m32r-elf mcore-elf
mmix-knuth-mmixware nds32-linux nios2-linux sh-linux visium-elf) was
build crosses (without binutils, so stopped shortly after building cc1),
make a copy of cc1, try expected tweaks in config/*/*.cc around the
TYPE_NO_NAMED_ARGS_STDARG_P uses unless it was clearly unnecessary,
make cc1 again and compare if the c23-stdarg-9.c assembly is any different,
if yes, try to eyeball it if the changes are desired, if the assembly is
unmodified, throw away the changes.

With the changes by others (loongarch, mips, riscv) I hope we are good on
the c23-stdarg-*.c tests on all arches.

	Jakub


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [committed] m32r: Fix up m32r_setup_incoming_varargs [PR114175]
  2024-03-20 17:29   ` Jakub Jelinek
@ 2024-03-20 18:14     ` Jeff Law
  0 siblings, 0 replies; 4+ messages in thread
From: Jeff Law @ 2024-03-20 18:14 UTC (permalink / raw)
  To: Jakub Jelinek; +Cc: gcc-patches



On 3/20/24 11:29 AM, Jakub Jelinek wrote:
> On Wed, Mar 20, 2024 at 10:58:05AM -0600, Jeff Law wrote:
>> On 3/20/24 10:06 AM, Jakub Jelinek wrote:
>>> Like for x86-64, alpha or rs6000, m32r seems to be affected too.
>>>
>>> Just visually checked differences in c23-stdarg-9.c assembly in a cross
>>> without/with the patch, committed to trunk.
>>>
>> That fixed c23-stdarg-{6,8,9} execution tests.
> 
> Thanks for these checks.  All I've done with the remaining targets
> today (csky-linux epiphany-elf fr30-elf frv-linux ft32-elf m32r-elf mcore-elf
> mmix-knuth-mmixware nds32-linux nios2-linux sh-linux visium-elf) was
> build crosses (without binutils, so stopped shortly after building cc1),
> make a copy of cc1, try expected tweaks in config/*/*.cc around the
> TYPE_NO_NAMED_ARGS_STDARG_P uses unless it was clearly unnecessary,
> make cc1 again and compare if the c23-stdarg-9.c assembly is any different,
> if yes, try to eyeball it if the changes are desired, if the assembly is
> unmodified, throw away the changes.
> 
> With the changes by others (loongarch, mips, riscv) I hope we are good on
> the c23-stdarg-*.c tests on all arches.
Forgot to note, arc-elf started passing c23-stdarg-9.c yesterday. 
Started an off-cycle run of the alpha, so figure this time tomorrow 
we'll have confirmation it's working.

Jeff

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-03-20 18:14 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-03-20 16:06 [committed] m32r: Fix up m32r_setup_incoming_varargs [PR114175] Jakub Jelinek
2024-03-20 16:58 ` Jeff Law
2024-03-20 17:29   ` Jakub Jelinek
2024-03-20 18:14     ` Jeff Law

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).