[Bug rtl-optimization/90275] [8/9 Regression] ICE: in insert_regs, at cse.c:1128 with -O2 -fno-dce -fno-tree-dce
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90275 Richard Biener changed: What|Removed |Added Status|NEW |ASSIGNED
[Bug rtl-optimization/90275] [8/9 Regression] ICE: in insert_regs, at cse.c:1128 with -O2 -fno-dce -fno-tree-dce
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90275 --- Comment #18 from David Binderman --- For this C code: a() { short *b; short c; long long *d = a; for (;;) { long long *e = a; (*d *= *e - c) / *b ?: (*b = 0); } } on this week's raspberry pi C cross compiler, with flag -O2, does this: $ /home/dcb/raspberrypi/results/bin/arm-linux-gnueabihf-gcc -c -w -O2 testFile.97.c during RTL pass: cse_local testFile.97.c: In function ‘a’: testFile.97.c:9:1: internal compiler error: in insert_regs, at cse.c:1128 9 | } | ^ 0x7e5b19 insert_regs /home/dcb/gcc/trunk.git/gcc/cse.c:1128 0x17ab64b cse_insn /home/dcb/gcc/trunk.git/gcc/cse.c:5956 0x17ade1d cse_extended_basic_block /home/dcb/gcc/trunk.git/gcc/cse.c:6614 0x17ade1d cse_main /home/dcb/gcc/trunk.git/gcc/cse.c:6793 This code works on x86, so something arm specific is happening.
[Bug rtl-optimization/90275] [8/9 Regression] ICE: in insert_regs, at cse.c:1128 with -O2 -fno-dce -fno-tree-dce
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90275 --- Comment #17 from CVS Commits --- The master branch has been updated by Jeff Law : https://gcc.gnu.org/g:48817fbd7616f086ac7bb1dd38b862f78762c9b8 commit r10-7384-g48817fbd7616f086ac7bb1dd38b862f78762c9b8 Author: Jeff Law Date: Wed Mar 25 14:33:08 2020 -0600 Fix vector-compare-1 regressions on sh4/sh4eb caused by pattern clobbering T reg without expressing that in its RTL. PR rtl-optimization/90275 * config/sh/sh.md (mov_neg_si_t): Clobber the T register in the pattern.
[Bug rtl-optimization/90275] [8/9 Regression] ICE: in insert_regs, at cse.c:1128 with -O2 -fno-dce -fno-tree-dce
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90275 --- Comment #16 from CVS Commits --- The master branch has been updated by Jeff Law : https://gcc.gnu.org/g:eeb0c7c07133634eb5e98ba0348392684a763c95 commit r10-7383-geeb0c7c07133634eb5e98ba0348392684a763c95 Author: Jeff Law Date: Wed Mar 25 14:12:32 2020 -0600 Fix vector-compare-1 regressions on sh4/sh4eb caused by pattern clobbering T reg without expressing that in its RTL. PR rtl-optimization/90275 * config/sh/sh.md (mov_neg_si_t): Clobber the T register in the pattern.
[Bug rtl-optimization/90275] [8/9 Regression] ICE: in insert_regs, at cse.c:1128 with -O2 -fno-dce -fno-tree-dce
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90275 --- Comment #15 from CVS Commits --- The master branch has been updated by Jeff Law : https://gcc.gnu.org/g:75fb811dfaa29d60a897924b0d1629577b90eee7 commit r10-7346-g75fb811dfaa29d60a897924b0d1629577b90eee7 Author: Jeff Law Date: Mon Mar 23 17:55:20 2020 -0600 Verify the code used for the optimized comparison is valid for the comparison's mode. PR rtl-optimization/90275 PR target/94238 PR target/94144 * simplify-rtx.c (comparison_code_valid_for_mode): New function. (simplify_logical_relational_operation): Use it. PR target/94144 PR target/94238 * gcc.c-torture/compile/pr94144.c: New test. * gcc.c-torture/compile/pr94238.c: New test.
[Bug rtl-optimization/90275] [8/9 Regression] ICE: in insert_regs, at cse.c:1128 with -O2 -fno-dce -fno-tree-dce
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90275 --- Comment #14 from CVS Commits --- The master branch has been updated by Jeff Law : https://gcc.gnu.org/g:529ea7d9596b26ba103578eeab448e9862a2d2c5 commit r10-7268-g529ea7d9596b26ba103578eeab448e9862a2d2c5 Author: Jeff Law Date: Wed Mar 18 16:07:28 2020 -0600 Complete change to resolve pr90275. PR rtl-optimization/90275 * cse.c (cse_insn): Delete no-op register moves too.
[Bug rtl-optimization/90275] [8/9 Regression] ICE: in insert_regs, at cse.c:1128 with -O2 -fno-dce -fno-tree-dce
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90275 Martin Liška changed: What|Removed |Added CC||marxin at gcc dot gnu.org --- Comment #13 from Martin Liška --- commit r10-7149-g4aded535ea6ad7c362ab62d99af70e53c186d582 Author: Richard Sandiford Date: Thu Mar 12 16:09:27 2020 -0600 Remove no-op register to register copies in CSE just like we remove no-op memory to memory copies. PR rtl-optimization/90275 * cse.c (cse_insn): Delete no-op register moves too. PR rtl-optimization/90275 * gcc.c-torture/compile/pr90275.c: New test.
[Bug rtl-optimization/90275] [8/9 Regression] ICE: in insert_regs, at cse.c:1128 with -O2 -fno-dce -fno-tree-dce
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90275 Jeffrey A. Law changed: What|Removed |Added Summary|[8/9/10 Regression] ICE: in |[8/9 Regression] ICE: in |insert_regs, at cse.c:1128 |insert_regs, at cse.c:1128 |with -O2 -fno-dce |with -O2 -fno-dce |-fno-tree-dce |-fno-tree-dce --- Comment #12 from Jeffrey A. Law --- This should be fixed on the trunk now. The patch could be safely backported to the release branches if someone was interested.