On Mon, Jun 26, 2023 at 12:41 PM Andrew Pinski <pins...@gmail.com> wrote:
>
> 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.

So I found a testcase which fails before this patch, though the
problem is simple_dce_from_worklist is removing the `asm goto` which
is wrong.

Thanks,
Andrew Pinski


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