public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH] remove bogus asserts in expr.c
@ 2020-01-21 16:27 stefan
  0 siblings, 0 replies; only message in thread
From: stefan @ 2020-01-21 16:27 UTC (permalink / raw)
  To: gcc-patches

If running "make check-gcc" with -mcpu=m68040 you get an internal compiler
error during the combine pass in expr.c since there are checks at lines
4107/4108 which seem to be not reasonable.

It combines 

(insn 8 5 9 2 (parallel [
            (set (reg:SI 41)
                (udiv:SI (reg/v:SI 38 [ x ])
                    (reg/v:SI 39 [ y ])))
            (set (reg:SI 42)
                (umod:SI (reg/v:SI 38 [ x ])
                    (reg/v:SI 39 [ y ])))
        ]) "../gcc/gcc/testsuite/gcc.c-torture/execute/20021120-3.c":14:3
493 {*divu}
     (expr_list:REG_UNUSED (reg:SI 42)
        (nil)))
(insn 9 8 10 2 (set (mem:SI (pre_dec:SI (reg/f:SI 15 %sp)) [2  S4 A16])
        (reg:SI 41))
"../gcc/gcc/testsuite/gcc.c-torture/execute/20021120-3.c":14:3 106
{*movsi_m68k2}
     (expr_list:REG_DEAD (reg:SI 41)
        (expr_list:REG_ARGS_SIZE (const_int 4 [0x4])
            (nil))))


The combine pass creates a parallel insn with auto inc, which is resolved
during reload to valid insns again.

This patch removes these checks, since they aren't helpful.


Stefan

========================
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -1,5 +1,5 @@
 /* Convert tree expression to rtl instructions, for GNU compiler.
-   Copyright (C) 1988-2019 Free Software Foundation, Inc.
+   Copyright (C) 1988-2020 Free Software Foundation, Inc.
 
 This file is part of GCC.
 
@@ -4103,10 +4103,6 @@ find_args_size_adjust (rtx_insn *insn)
          if (dest == stack_pointer_rtx)
            break;
 
-         /* We do not expect an auto-inc of the sp in the parallel.  */
-         gcc_checking_assert (mem_autoinc_base (dest) !=
stack_pointer_rtx);
-         gcc_checking_assert (mem_autoinc_base (SET_SRC (set))
-                              != stack_pointer_rtx);
        }
       if (i < 0)
        return 0;

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-01-21 16:14 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-21 16:27 [PATCH] remove bogus asserts in expr.c stefan

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).