From: Max Filippov <jcmvbkbc@gmail.com>
To: "Takayuki 'January June' Suwa" <jjsuwa_sys3175@yahoo.co.jp>
Cc: GCC Patches <gcc-patches@gcc.gnu.org>, Jeff Law <jeffreyalaw@gmail.com>
Subject: Re: [PATCH] xtensa: Prepare the transition from Reload to LRA
Date: Sat, 15 Oct 2022 22:03:34 -0700 [thread overview]
Message-ID: <CAMo8BfJqVu320Qh1ahnWsU_2gsUYJFgZgsa4=dBzALM1CmT83w@mail.gmail.com> (raw)
In-Reply-To: <3296b387-083a-40cf-1bb5-40269e804f52@yahoo.co.jp>
Hi Suwa-san,
On Fri, Oct 14, 2022 at 4:19 AM Takayuki 'January June' Suwa
<jjsuwa_sys3175@yahoo.co.jp> wrote:
> This patch provides the first step in the transition from Reload to LRA
> in Xtensa.
>
> gcc/ChangeLog:
>
> * config/xtensa/xtensa-proto.h (xtensa_split1_is_finished_p):
> New prototype.
> * config/xtensa/xtensa.cc
> (xtensa_split1_is_finished_p, xtensa_lra_p): New functions.
> (TARGET_LRA_P): Replace the dummy hook with xtensa_lra_p.
> (xt_true_regnum): Rework.
> * gcc/config/xtensa/xtensa.h (CALL_REALLY_USED_REGISTERS):
> Rename from CALL_USED_REGISTERS, and remove what correspond to
> FIXED_REGISTERS.
> * gcc/config/xtensa/constraints.md (Y):
> Use !xtensa_split1_is_finished_p() instead of can_create_pseudo_p().
> * gcc/config/xtensa/predicates.md (move_operand): Ditto.
> * gcc/config/xtensa/xtensa.md:
> Add new split pattern that puts out-of-constraint integer constants
> into the constant pool.
> * gcc/config/xtensa/xtensa.opt (-mlra): New target-specific option
> for testing purpose.
> ---
> gcc/config/xtensa/constraints.md | 2 +-
> gcc/config/xtensa/predicates.md | 2 +-
> gcc/config/xtensa/xtensa-protos.h | 1 +
> gcc/config/xtensa/xtensa.cc | 48 ++++++++++++++++++++++++-------
> gcc/config/xtensa/xtensa.h | 6 ++--
> gcc/config/xtensa/xtensa.md | 12 ++++++++
> gcc/config/xtensa/xtensa.opt | 4 +++
> 7 files changed, 60 insertions(+), 15 deletions(-)
Thank you for doing this, I couldn't find time to get back to it since 2020 ):
This change results in a few new regressions in the following tests
caused by ICE even when running without -mlra option:
+FAIL: gcc.c-torture/execute/pr92904.c -O1 (internal compiler
error: in extract_insn, at recog.cc:2791)
+FAIL: gcc.c-torture/execute/pr92904.c -O2 (internal compiler
error: in extract_insn, at recog.cc:2791)
+FAIL: gcc.c-torture/execute/pr92904.c -O3 -fomit-frame-pointer
-funroll-loops -fpeel-loops -ftracer -finline-functions (internal
compiler error: in extract_insn, at recog.cc:2791)
+FAIL: gcc.c-torture/execute/pr92904.c -O3 -g (internal compiler
error: in extract_insn, at recog.cc:2791)
+FAIL: gcc.c-torture/execute/pr92904.c -Os (internal compiler
error: in extract_insn, at recog.cc:2791)
+FAIL: gcc.c-torture/execute/pr92904.c -O2 -flto
-fno-use-linker-plugin -flto-partition=none (internal compiler error:
in extract_insn, at recog.cc:2791)
+FAIL: gcc.c-torture/execute/pr92904.c -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects (internal compiler error: in extract_insn, at
recog.cc:2791)
+FAIL: g++.dg/torture/vshuf-v2si.C -O3 -g (internal compiler error:
in extract_insn, at recog.cc:2791)
+FAIL: g++.dg/torture/vshuf-v8qi.C -O3 -g (internal compiler error:
in extract_insn, at recog.cc:2791)
The backtraces look like this in all of them:
gcc/gcc/testsuite/gcc.c-torture/execute/pr92904.c:395:1: error:
unrecognizable insn:
(insn 10501 7 10502 2 (set (reg:SI 5913)
(const_int 1431655765 [0x55555555]))
"gcc/gcc/testsuite/gcc.c-torture/execute/pr92904.c":239:9 -1
(nil))
during RTL pass: subreg3
gcc/gcc/testsuite/gcc.c-torture/execute/pr92904.c:395:1: internal
compiler error: in extract_insn, at recog.cc:2791
0x6b17f7 _fatal_insn(char const*, rtx_def const*, char const*, int, char const*)
gcc/gcc/rtl-error.cc:108
0x6b187a _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
gcc/gcc/rtl-error.cc:116
0x6a2aa4 extract_insn(rtx_insn*)
gcc/gcc/recog.cc:2791
0x179e94d decompose_multiword_subregs
gcc/gcc/lower-subreg.cc:1678
0x179ebdd execute
gcc/gcc/lower-subreg.cc:1820
There's also the following runtime failures, but only on
call0 configuration:
+FAIL: gcc.c-torture/execute/20010122-1.c -O1 execution test
+FAIL: gcc.c-torture/execute/20010122-1.c -O2 execution test
+FAIL: gcc.c-torture/execute/20010122-1.c -O3 -g execution test
+FAIL: gcc.c-torture/execute/20010122-1.c -Os execution test
+FAIL: gcc.c-torture/execute/20010122-1.c -O2 -flto
-fno-use-linker-plugin -flto-partition=none execution test
--
Thanks.
-- Max
next prev parent reply other threads:[~2022-10-16 5:03 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-03 1:35 [PATCH] lower-subreg, expr: Mitigate inefficiencies derived from "(clobber (reg X))" followed by "(set (subreg (reg X)) (...))" Takayuki 'January June' Suwa
2022-08-03 7:52 ` Richard Sandiford
2022-08-03 11:17 ` Takayuki 'January June' Suwa
2022-08-04 9:49 ` Richard Sandiford
2022-08-04 12:35 ` Takayuki 'January June' Suwa
2022-08-05 16:20 ` Jeff Law
2022-10-14 11:06 ` [PATCH] xtensa: Prepare the transition from Reload to LRA Takayuki 'January June' Suwa
2022-10-16 5:03 ` Max Filippov [this message]
2022-10-18 2:57 ` [PATCH v2] " Takayuki 'January June' Suwa
2022-10-18 3:14 ` Max Filippov
2022-10-18 12:16 ` Max Filippov
2022-10-19 8:16 ` [PATCH v3] " Takayuki 'January June' Suwa
2022-10-19 11:31 ` Max Filippov
2022-10-25 20:09 ` Jan-Benedict Glaw
2022-10-26 3:23 ` Takayuki 'January June' Suwa
2022-10-26 6:27 ` [PATCH] xtensa: Fix out-of-bounds array access Takayuki 'January June' Suwa
2022-10-26 17:05 ` Max Filippov
2022-08-05 16:12 ` [PATCH] lower-subreg, expr: Mitigate inefficiencies derived from "(clobber (reg X))" followed by "(set (subreg (reg X)) (...))" Jeff Law
2022-08-03 17:23 ` Jeff Law
2022-08-04 9:39 ` Richard Sandiford
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAMo8BfJqVu320Qh1ahnWsU_2gsUYJFgZgsa4=dBzALM1CmT83w@mail.gmail.com' \
--to=jcmvbkbc@gmail.com \
--cc=gcc-patches@gcc.gnu.org \
--cc=jeffreyalaw@gmail.com \
--cc=jjsuwa_sys3175@yahoo.co.jp \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).