public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [pushed]LRA]: Fix asserts for output stack pointer reloads
@ 2023-08-14  1:09 Vladimir Makarov
  2023-08-14 18:37 ` Prathamesh Kulkarni
  0 siblings, 1 reply; 3+ messages in thread
From: Vladimir Makarov @ 2023-08-14  1:09 UTC (permalink / raw)
  To: gcc-patches

[-- Attachment #1: Type: text/plain, Size: 105 bytes --]

The following patch fixes useless asserts in my latest patch 
implementing output stack pointer reloads.

[-- Attachment #2: z --]
[-- Type: text/plain, Size: 1215 bytes --]

commit 18b417fe1a46d37738243267c1f559cd0acc4886
Author: Vladimir N. Makarov <vmakarov@redhat.com>
Date:   Sun Aug 13 20:54:58 2023 -0400

    [LRA]: Fix asserts for output stack pointer reloads
    
    The patch implementing output stack pointer reloads contained superfluous
    asserts.  The patch makes them useful.
    
    gcc/ChangeLog:
    
            * lra-constraints.cc (curr_insn_transform): Set done_p up and
            check it on true after processing output stack pointer reload.

diff --git a/gcc/lra-constraints.cc b/gcc/lra-constraints.cc
index 26239908747..8d9443adeb6 100644
--- a/gcc/lra-constraints.cc
+++ b/gcc/lra-constraints.cc
@@ -4852,6 +4852,7 @@ curr_insn_transform (bool check_only_p)
 	    && SET_DEST (set) == stack_pointer_rtx)
 	  {
 	    lra_assert (!done_p);
+	    done_p = true;
 	    curr_id->sp_offset = 0;
 	    lra_insn_recog_data_t id = lra_get_insn_recog_data (insn);
 	    id->sp_offset = sp_offset;
@@ -4860,7 +4861,7 @@ curr_insn_transform (bool check_only_p)
 		       "            Moving sp offset from insn %u to %u\n",
 		       INSN_UID (curr_insn), INSN_UID (insn));
 	  }
-      lra_assert (!done_p);
+      lra_assert (done_p);
     }
   return change_p;
 }

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

* Re: [pushed]LRA]: Fix asserts for output stack pointer reloads
  2023-08-14  1:09 [pushed]LRA]: Fix asserts for output stack pointer reloads Vladimir Makarov
@ 2023-08-14 18:37 ` Prathamesh Kulkarni
  2023-08-14 19:15   ` Vladimir Makarov
  0 siblings, 1 reply; 3+ messages in thread
From: Prathamesh Kulkarni @ 2023-08-14 18:37 UTC (permalink / raw)
  To: Vladimir Makarov; +Cc: gcc-patches

On Mon, 14 Aug 2023 at 06:39, Vladimir Makarov via Gcc-patches
<gcc-patches@gcc.gnu.org> wrote:
>
> The following patch fixes useless asserts in my latest patch
> implementing output stack pointer reloads.
Hi Vladimir,
It seems that this patch caused the following ICE on aarch64-linux-gnu
while building cp-demangle.c:
compile:  /home/prathamesh.kulkarni/gnu-toolchain/gcc/master/stage1-build/./gcc/xgcc
-B/home/prathamesh.kulkarni/gnu-toolchain/gcc/master/stage1-build/./gcc/
-B/usr/local/aarch64-unknown-linux-gnu/bin/
-B/usr/local/aarch64-unknown-linux-gnu/lib/ -isystem
/usr/local/aarch64-unknown-linux-gnu/include -isystem
/usr/local/aarch64-unknown-linux-gnu/sys-include -DHAVE_CONFIG_H -I..
-I/home/prathamesh.kulkarni/gnu-toolchain/gcc/master/gcc/libstdc++-v3/../libiberty
-I/home/prathamesh.kulkarni/gnu-toolchain/gcc/master/gcc/libstdc++-v3/../include
-D_GLIBCXX_SHARED
-I/home/prathamesh.kulkarni/gnu-toolchain/gcc/master/stage1-build/aarch64-unknown-linux-gnu/libstdc++-v3/include/aarch64-unknown-linux-gnu
-I/home/prathamesh.kulkarni/gnu-toolchain/gcc/master/stage1-build/aarch64-unknown-linux-gnu/libstdc++-v3/include
-I/home/prathamesh.kulkarni/gnu-toolchain/gcc/master/gcc/libstdc++-v3/libsupc++
-g -O2 -DIN_GLIBCPP_V3 -Wno-error -c cp-demangle.c  -fPIC -DPIC -o
cp-demangle.o
during RTL pass: reload
cp-demangle.c: In function ‘d_demangle_callback.constprop’:
cp-demangle.c:6815:1: internal compiler error: in curr_insn_transform,
at lra-constraints.cc:4854
 6815 | }
      | ^
0xce6b37 curr_insn_transform
        ../../gcc/gcc/lra-constraints.cc:4854
0xce7887 lra_constraints(bool)
        ../../gcc/gcc/lra-constraints.cc:5478
0xccdfa7 lra(_IO_FILE*)
        ../../gcc/gcc/lra.cc:2419
0xc7e417 do_reload
        ../../gcc/gcc/ira.cc:5970
0xc7e417 execute
        ../../gcc/gcc/ira.cc:6156
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.

Thanks,
Prathamesh

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

* Re: [pushed]LRA]: Fix asserts for output stack pointer reloads
  2023-08-14 18:37 ` Prathamesh Kulkarni
@ 2023-08-14 19:15   ` Vladimir Makarov
  0 siblings, 0 replies; 3+ messages in thread
From: Vladimir Makarov @ 2023-08-14 19:15 UTC (permalink / raw)
  To: Prathamesh Kulkarni; +Cc: gcc-patches


On 8/14/23 14:37, Prathamesh Kulkarni wrote:
> On Mon, 14 Aug 2023 at 06:39, Vladimir Makarov via Gcc-patches
> <gcc-patches@gcc.gnu.org> wrote:
>> The following patch fixes useless asserts in my latest patch
>> implementing output stack pointer reloads.
> Hi Vladimir,
> It seems that this patch caused the following ICE on aarch64-linux-gnu
> while building cp-demangle.c:
> compile:  /home/prathamesh.kulkarni/gnu-toolchain/gcc/master/stage1-build/./gcc/xgcc
> -B/home/prathamesh.kulkarni/gnu-toolchain/gcc/master/stage1-build/./gcc/
> -B/usr/local/aarch64-unknown-linux-gnu/bin/
> -B/usr/local/aarch64-unknown-linux-gnu/lib/ -isystem
> /usr/local/aarch64-unknown-linux-gnu/include -isystem
> /usr/local/aarch64-unknown-linux-gnu/sys-include -DHAVE_CONFIG_H -I..
> -I/home/prathamesh.kulkarni/gnu-toolchain/gcc/master/gcc/libstdc++-v3/../libiberty
> -I/home/prathamesh.kulkarni/gnu-toolchain/gcc/master/gcc/libstdc++-v3/../include
> -D_GLIBCXX_SHARED
> -I/home/prathamesh.kulkarni/gnu-toolchain/gcc/master/stage1-build/aarch64-unknown-linux-gnu/libstdc++-v3/include/aarch64-unknown-linux-gnu
> -I/home/prathamesh.kulkarni/gnu-toolchain/gcc/master/stage1-build/aarch64-unknown-linux-gnu/libstdc++-v3/include
> -I/home/prathamesh.kulkarni/gnu-toolchain/gcc/master/gcc/libstdc++-v3/libsupc++
> -g -O2 -DIN_GLIBCPP_V3 -Wno-error -c cp-demangle.c  -fPIC -DPIC -o
> cp-demangle.o
> during RTL pass: reload
> cp-demangle.c: In function ‘d_demangle_callback.constprop’:
> cp-demangle.c:6815:1: internal compiler error: in curr_insn_transform,
> at lra-constraints.cc:4854
>   6815 | }
>        | ^
> 0xce6b37 curr_insn_transform
>          ../../gcc/gcc/lra-constraints.cc:4854
> 0xce7887 lra_constraints(bool)
>          ../../gcc/gcc/lra-constraints.cc:5478
> 0xccdfa7 lra(_IO_FILE*)
>          ../../gcc/gcc/lra.cc:2419
> 0xc7e417 do_reload
>          ../../gcc/gcc/ira.cc:5970
> 0xc7e417 execute
>          ../../gcc/gcc/ira.cc:6156
> Please submit a full bug report, with preprocessed source (by using
> -freport-bug).
> Please include the complete backtrace with any bug report.
>
Sorry, I should have bootstrapped my patch on aarch64.

The asserts actually seems very useful as I found they caught a bug in 
my previous patch.

I'll push a patch fixing the problems after finishing bootstraps, 
probably in couple hours.

Thank you




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

end of thread, other threads:[~2023-08-14 19:15 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-08-14  1:09 [pushed]LRA]: Fix asserts for output stack pointer reloads Vladimir Makarov
2023-08-14 18:37 ` Prathamesh Kulkarni
2023-08-14 19:15   ` Vladimir Makarov

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