On Mon, Jun 26, 2023 at 11:49 AM Andrew Pinski <pins...@gmail.com> wrote:
>
> On Mon, Jun 26, 2023 at 9:13 AM Andrew Pinski <pins...@gmail.com> wrote:
> >
> > On Sun, Jun 25, 2023 at 10:59 PM Jan-Benedict Glaw <jbg...@lug-owl.de> 
> > wrote:
> > >
> > > Hi Andrew,
> > >
> > > On Fri, 2023-05-05 08:17:19 -0700, Andrew Pinski via Gcc-patches 
> > > <gcc-patches@gcc.gnu.org> wrote:
> > > > While looking into a different issue, I noticed that it
> > > > would take until the second forwprop pass to do some
> > > > forward proping and it was because the ssa name was
> > > > used more than once but the second statement was
> > > > "dead" and we don't remove that until much later.
> > > [...]
> > > > OK? Bootstrapped and tested on x86_64-linux-gnu with no regressions.
> > >
> > > Since this patch, I see a bit of fallout building the Linux kernel
> > > using the adder875_defconfig:
> > >
> > > # CC      arch/powerpc/kernel/ptrace/ptrace-view.o
> > >   powerpc-linux-gcc -Wp,-MMD,arch/powerpc/kernel/ptrace/.ptrace-view.o.d 
> > > -nostdinc -I./arch/powerpc/include -I./arch/powerpc/include/generated  
> > > -I./include -I./arch/powerpc/include/uapi 
> > > -I./arch/powerpc/include/generated/uapi -I./include/uapi 
> > > -I./include/generated/uapi -include ./include/linux/compiler-version.h 
> > > -include ./include/linux/kconfig.h -include 
> > > ./include/linux/compiler_types.h -D__KERNEL__ -I ./arch/powerpc 
> > > -fmacro-prefix-map=./= -Wall -Wundef -Werror=strict-prototypes 
> > > -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE 
> > > -Werror=implicit-function-declaration -Werror=implicit-int 
> > > -Werror=return-type -Wno-format-security -funsigned-char -std=gnu11 
> > > -mbig-endian -m32 -msoft-float -pipe -ffixed-r2 -mmultiple 
> > > -mno-readonly-in-sdata -mcpu=860 -mno-prefixed -mno-pcrel -mno-altivec 
> > > -mno-vsx -mno-mma -fno-asynchronous-unwind-tables -mno-string 
> > > -mbig-endian -mstack-protector-guard=tls -mstack-protector-guard-reg=r2 
> > > -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation 
> > > -Wno-format-overflow -Wno-address-of-packed-member -O2 
> > > -fno-allow-store-data-races -Wframe-larger-than=1024 
> > > -fstack-protector-strong -Wno-main -Wno-unused-but-set-variable 
> > > -Wno-unused-const-variable -Wno-dangling-pointer -fomit-frame-pointer 
> > > -ftrivial-auto-var-init=zero -fno-stack-clash-protection 
> > > -Wdeclaration-after-statement -Wvla -Wno-pointer-sign 
> > > -Wcast-function-type -Wno-stringop-truncation -Wno-stringop-overflow 
> > > -Wno-restrict -Wno-maybe-uninitialized -Wno-array-bounds 
> > > -Wno-alloc-size-larger-than -Wimplicit-fallthrough=5 -fno-strict-overflow 
> > > -fno-stack-check -fconserve-stack -Werror=date-time 
> > > -Werror=incompatible-pointer-types -Werror=designated-init 
> > > -Wno-packed-not-aligned -g -mstack-protector-guard-offset=544 -Werror 
> > > -DUTS_MACHINE='"ppc"'    
> > > -DKBUILD_MODFILE='"arch/powerpc/kernel/ptrace/ptrace-view"' 
> > > -DKBUILD_BASENAME='"ptrace_view"' -DKBUILD_MODNAME='"ptrace_view"' 
> > > -D__KBUILD_MODNAME=kmod_ptrace_view -c -o 
> > > arch/powerpc/kernel/ptrace/ptrace-view.o 
> > > arch/powerpc/kernel/ptrace/ptrace-view.c
> > > during GIMPLE pass: pre
> > > arch/powerpc/kernel/ptrace/ptrace-view.c: In function 'gpr32_set_common':
> > > arch/powerpc/kernel/ptrace/ptrace-view.c:649:5: internal compiler error: 
> > > in gimple_redirect_edge_and_branch, at tree-cfg.cc:6262
> > >   649 | int gpr32_set_common(struct task_struct *target,
> > >       |     ^~~~~~~~~~~~~~~~
> > > 0x1a562a6 internal_error(char const*, ...)
> > >  ???:0
> > > 0x826ea1 fancy_abort(char const*, int, char const*)
> > >  ???:0
> > > 0x9b77c9 redirect_edge_and_branch(edge_def*, basic_block_def*)
> > >  ???:0
> > > 0x9b7e43 split_edge(edge_def*)
> > >  ???:0
> > > 0xee1cc7 split_critical_edges(bool)
> > >  ???:0
> > > Please submit a full bug report, with preprocessed source (by using 
> > > -freport-bug).
> > > Please include the complete backtrace with any bug report.
> > > See <https://gcc.gnu.org/bugs/> for instructions.
> > > make[4]: *** [scripts/Makefile.build:252: 
> > > arch/powerpc/kernel/ptrace/ptrace-view.o] Error 1
> > > make[3]: *** [scripts/Makefile.build:494: arch/powerpc/kernel/ptrace] 
> > > Error 2
> > > make[2]: *** [scripts/Makefile.build:494: arch/powerpc/kernel] Error 2
> > > make[1]: *** [scripts/Makefile.build:494: arch/powerpc] Error 2
> > > make: *** [Makefile:2026: .] Error 2
> >
> > Can you file a bug (https://gcc.gnu.org/bugzilla/) with the
> > preprocessed source (which -freport-bug will provide). In the meantime
> > I will try to reproduce it and see what is going on.
>
> Note I am suspecting it is related to GCC PR 103979 . I am still
> trying to reproduce the ICE.

I am 99% sure it is more related to PR 105165 really. Where PRE is now
trying to insert on a critical edge and that is failing ...
Basically my patch removes some extra statements (unrelated to the asm
goto) and that causes the IR to be enough different that PRE is now
failing.

Thanks,
Andrew

>
> >
> > Thanks,
> > Andrew
> >
> >
> > >
> > >
> > > (Full log at 
> > > http://toolchain.lug-owl.de/laminar/jobs/linux-powerpc-adder875_defconfig/100)
> > >
> > > Thanks,
> > >   Jan-Benedict
> > >
> > > --

Reply via email to