public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Joey Ye <joey.ye.cc@gmail.com>
To: "Bin.Cheng" <amker.cheng@gmail.com>
Cc: gcc-patches <gcc-patches@gcc.gnu.org>, richard.sandiford@arm.com
Subject: Re: [PATCH AArch64]Fix test failure for pr84682-2.c
Date: Thu, 30 Aug 2018 10:28:00 -0000	[thread overview]
Message-ID: <CAL0py26_qyQCjrpop_Wsdw5BGirU8Fv5p326KRsRjKmsHchnLQ@mail.gmail.com> (raw)
In-Reply-To: <CAL0py25m3UVXz6VH4wCA+3EZjp+2+uasxKH=8z+=Ugfg5onMTA@mail.gmail.com>

typo: s/reorg.c/recog.c/g
On Thu, Aug 30, 2018 at 11:20 AM Joey Ye <joey.ye.cc@gmail.com> wrote:
>
> Hi Bin & Richard,
>
> It is not as simple as keeping the assertion, which still fails even
> with the change in reorg.c. The testing result is as following:
>
> I. With Bin's patch version 2 (removing the assertion in aarch64.c and
> adding the check in reorg.c): pr84682-2.c passes
>
> II. With Richard's suggestion to keep the assertion in aarch64, but
> adding the check in reorg.c: pr84682-2.c fails
>
> Apparently there is a different path that reaches the assertion.
>
> With II:
> /build/trunk/src/gcc/gcc/testsuite/gcc.dg/torture/pr84682-2.c: In
> function 'b': /build/trunk/src/gcc/gcc/testsuite/gcc.dg/torture/pr84682-2.c:10:1:
> internal compiler error: in aarch64_classify_address, at
> config/aarch64/aarch64.c:5721
> 0xfa4071 aarch64_classify_address
>         /build/trunk/src/gcc/gcc/config/aarch64/aarch64.c:5720
> 0xfa94f3 aarch64_legitimate_address_hook_p
>         /build/trunk/src/gcc/gcc/config/aarch64/aarch64.c:6003
> 0xb85661 strict_memory_address_addr_space_p(machine_mode, rtx_def*,
> unsigned char)
>         /build/trunk/src/gcc/gcc/reload.c:2177
> 0xb75da9 constrain_operands(int, unsigned long)
>         /build/trunk/src/gcc/gcc/recog.c:2706
> 0xb761a0 extract_constrain_insn(rtx_insn*)
>         /build/trunk/src/gcc/gcc/recog.c:2210
> 0xa6dd57 check_rtl
>         /build/trunk/src/gcc/gcc/lra.c:2182
> 0xa737db lra(_IO_FILE*)
>         /build/trunk/src/gcc/gcc/lra.c:2616
> 0xa25989 do_reload
>         /build/trunk/src/gcc/gcc/ira.c:5469
> 0xa25989 execute
>
> Current trunk without any patch:
> /build/trunk/src/gcc/gcc/testsuite/gcc.dg/torture/pr84682-2.c: In
> function 'b': /build/trunk/src/gcc/gcc/testsuite/gcc.dg/torture/pr84682-2.c:9:3:
> internal compiler error: in aarch64_classify_address, at
> config/aarch64/aarch64.c:5721
> 0xfa4011 aarch64_classify_address
>         /build/trunk/src/gcc/gcc/config/aarch64/aarch64.c:5720
> 0xfa9493 aarch64_legitimate_address_hook_p
>         /build/trunk/src/gcc/gcc/config/aarch64/aarch64.c:6003
> 0xb74cf3 memory_address_addr_space_p(machine_mode, rtx_def*, unsigned char)
>         /build/trunk/src/gcc/gcc/recog.c:1334
> 0xb74cf3 address_operand(rtx_def*, machine_mode)
>         /build/trunk/src/gcc/gcc/recog.c:1073
> 0xb74cf3 asm_operand_ok(rtx_def*, char const*, char const**)
>         /build/trunk/src/gcc/gcc/recog.c:1817
> 0x75e591 expand_asm_stmt
>         /build/trunk/src/gcc/gcc/cfgexpand.c:3135
> 0x766d67 expand_gimple_stmt_1
>         /build/trunk/src/gcc/gcc/cfgexpand.c:3572
> 0x766d67 expand_gimple_stmt
>         /build/trunk/src/gcc/gcc/cfgexpand.c:3734
> 0x768ce7 expand_gimple_basic_block
>
> More places need to be patched.
>
> Thanks,
> Joey
> On Thu, Aug 30, 2018 at 2:02 AM Bin.Cheng <amker.cheng@gmail.com> wrote:
> >
> > On Thu, Aug 30, 2018 at 2:47 AM Richard Sandiford
> > <richard.sandiford@arm.com> wrote:
> > >
> > > Joey Ye <joey.ye.cc@gmail.com> writes:
> > > > diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
> > > > index 07c55b1..9e965ab 100644
> > > > --- a/gcc/config/aarch64/aarch64.c
> > > > +++ b/gcc/config/aarch64/aarch64.c
> > > > @@ -5674,9 +5674,6 @@ aarch64_classify_address (struct aarch64_address_info *info,
> > > >        && (code != POST_INC && code != REG))
> > > >      return false;
> > > >
> > > > -  gcc_checking_assert (GET_MODE (x) == VOIDmode
> > > > -                    || SCALAR_INT_MODE_P (GET_MODE (x)));
> > > > -
> > > >    switch (code)
> > > >      {
> > > >      case REG:
> > > > diff --git a/gcc/recog.c b/gcc/recog.c
> > > > index 0a8fa2c..510aba2 100644
> > > > --- a/gcc/recog.c
> > > > +++ b/gcc/recog.c
> > > > @@ -1070,6 +1070,11 @@ general_operand (rtx op, machine_mode mode)
> > > >  int
> > > >  address_operand (rtx op, machine_mode mode)
> > > >  {
> > > > +  /* Wrong mode for an address expr.  */
> > > > +  if (GET_MODE (op) != VOIDmode
> > > > +      && ! SCALAR_INT_MODE_P (GET_MODE (op)))
> > > > +    return false;
> > > > +
> > > >    return memory_address_p (mode, op);
> > > >  }
> > > >
> > >
> > > The address_operand part is OK, thanks.
> > >
> > > I think we should keep the assert in aarch64_classify_address, since
> > > IMO it's a bug for anything else to reach that point.
> >
> > Hi Joey,
> > Could you help me update the patch as suggested by Richard and commit
> > it please?  My new assignment is still on the way.
> > Thanks very much!
> >
> > Thanks,
> > bin
> > >
> > > Richard

  reply	other threads:[~2018-08-30 10:28 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-16 11:43 Bin Cheng
2018-03-16 11:53 ` Kyrill Tkachov
2018-03-17  9:20   ` Richard Sandiford
2018-03-22 11:11     ` Bin.Cheng
2018-04-24 15:14       ` Bin.Cheng
2018-05-16  8:37       ` Kyrill Tkachov
2018-08-29 15:50         ` Joey Ye
2018-08-29 18:47           ` Richard Sandiford
2018-08-30  1:02             ` Bin.Cheng
2018-08-30 10:21               ` Joey Ye
2018-08-30 10:28                 ` Joey Ye [this message]
2018-08-30 12:24                 ` Richard Sandiford
2018-12-12 11:29                   ` Richard Earnshaw (lists)

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=CAL0py26_qyQCjrpop_Wsdw5BGirU8Fv5p326KRsRjKmsHchnLQ@mail.gmail.com \
    --to=joey.ye.cc@gmail.com \
    --cc=amker.cheng@gmail.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=richard.sandiford@arm.com \
    /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).