https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110895
Bug ID: 110895 Summary: [14 regression] ICE compiling gcc.c-torture/compile/pr33133.c after r14-2925-g2bae476b511dc4 Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: other Assignee: unassigned at gcc dot gnu.org Reporter: seurer at gcc dot gnu.org Target Milestone: --- g:2bae476b511dc441bf61da8a49cca655575e7dd6, r14-2925-g2bae476b511dc4 make -k check-gcc RUNTESTFLAGS="compile.exp=gcc.c-torture/compile/pr33133.c" FAIL: gcc.c-torture/compile/pr33133.c -O2 (internal compiler error: Segmentation fault signal terminated program cc1) FAIL: gcc.c-torture/compile/pr33133.c -O2 (test for excess errors) FAIL: gcc.c-torture/compile/pr33133.c -Os (internal compiler error: Segmentation fault signal terminated program cc1) FAIL: gcc.c-torture/compile/pr33133.c -Os (test for excess errors) FAIL: gcc.c-torture/compile/pr33133.c -O2 -flto -fno-use-linker-plugin -flto-partition=none (internal compiler error: Segmentation fault signal terminated program cc1) FAIL: gcc.c-torture/compile/pr33133.c -O2 -flto -fno-use-linker-plugin -flto-partition=none (test for excess errors) # of expected passes 5 # of unexpected failures 6 spawn -ignore SIGHUP /home/seurer/gcc/git/build/gcc-test/gcc/xgcc -B/home/seurer/gcc/git/build/gcc-test/gcc/ -fdiagnostics-plain-output -O2 -flto -fno-use-linker-plugin -flto-partition=none -w -c -o pr33133.o /home/seurer/gcc/git/gcc-test/gcc/testsuite/gcc.c-torture/compile/pr33133.c xgcc: internal compiler error: Segmentation fault signal terminated program cc1 Please submit a full bug report, with preprocessed source (by using -freport-bug). See <https://gcc.gnu.org/bugs/> for instructions. compiler exited with status 1 FAIL: gcc.c-torture/compile/pr33133.c -O2 -flto -fno-use-linker-plugin -flto-partition=none (internal compiler error: Segmentation fault signal terminated program cc1) Hmmm. No traceback. commit 2bae476b511dc441bf61da8a49cca655575e7dd6 (HEAD, refs/bisect/bad) Author: Andrew Pinski <apin...@marvell.com> Date: Sat Jul 29 13:00:04 2023 -0700 Move `~X & X` and `~X | X` over to use bitwise_inverted_equal_p So, running it from gdb I see: #0 0x0000000010e3dab0 in operand_compare::verify_hash_value (this=<error reading variable: Cannot access memory at address 0x7ffffbfffff8>, arg0=<error reading variable: Cannot access memory at address 0x7ffffbfffff0>, arg1=<error reading variable: Cannot access memory at address 0x7ffffbffffe8>, flags=<error reading variable: Cannot access memory at address 0x7ffffbffffe4>, ret=<error reading variable: Cannot access memory at address 0x7ffffbffffd8>) at /home/seurer/gcc/git/gcc-test/gcc/fold-const.cc:4068 #1 0x0000000010e35c60 in operand_compare::operand_equal_p (this=0x13d16e38 <default_compare_instance>, arg0=0x7ffff5c21170, arg1=0x7ffff5c21680, flags=16) at /home/seurer/gcc/git/gcc-test/gcc/fold-const.cc:3090 #2 0x0000000010e3db40 in operand_compare::verify_hash_value (this=0x13d16e38 <default_compare_instance>, arg0=0x7ffff5c21170, arg1=0x7ffff5c21680, flags=0, ret=0x7ffffc00022e) at /home/seurer/gcc/git/gcc-test/gcc/fold-const.cc:4074 #3 0x0000000010e35c60 in operand_compare::operand_equal_p (this=0x13d16e38 <default_compare_instance>, arg0=0x7ffff5c21170, arg1=0x7ffff5c21680, flags=0) at /home/seurer/gcc/git/gcc-test/gcc/fold-const.cc:3090 #4 0x0000000010e3dd34 in operand_equal_p (arg0=0x7ffff5c21170, arg1=0x7ffff5c21680, flags=0) at /home/seurer/gcc/git/gcc-test/gcc/fold-const.cc:4105 #5 0x0000000012ca6368 in gimple_bitwise_inverted_equal_p (expr1=0x7ffff5c21170, expr2=0x7ffff5c21680, valueize=0x119a59f8 <rpo_vn_valueize(tree_node*)>) at /home/seurer/gcc/git/gcc-test/gcc/gimple-match-head.cc:284 #6 0x0000000012ca642c in gimple_bitwise_inverted_equal_p (expr1=0x7ffff5c21170, expr2=0x7ffff5c21a28, valueize=0x119a59f8 <rpo_vn_valueize(tree_node*)>) at /home/seurer/gcc/git/gcc-test/gcc/gimple-match-head.cc:293 #7 0x0000000012ca642c in gimple_bitwise_inverted_equal_p (expr1=0x7ffff5c21170, expr2=0x7ffff5c21680, valueize=0x119a59f8 <rpo_vn_valueize(tree_node*)>) at /home/seurer/gcc/git/gcc-test/gcc/gimple-match-head.cc:293 #8 0x0000000012ca642c in gimple_bitwise_inverted_equal_p (expr1=0x7ffff5c21170, expr2=0x7ffff5c21a28, valueize=0x119a59f8 <rpo_vn_valueize(tree_node*)>) at /home/seurer/gcc/git/gcc-test/gcc/gimple-match-head.cc:293 #9 0x0000000012ca642c in gimple_bitwise_inverted_equal_p (expr1=0x7ffff5c21170, expr2=0x7ffff5c21680, valueize=0x119a59f8 <rpo_vn_valueize(tree_node*)>) at /home/seurer/gcc/git/gcc-test/gcc/gimple-match-head.cc:293 #10 0x0000000012ca642c in gimple_bitwise_inverted_equal_p (expr1=0x7ffff5c21170, expr2=0x7ffff5c21a28, valueize=0x119a59f8 <rpo_vn_valueize(tree_node*)>) at /home/seurer/gcc/git/gcc-test/gcc/gimple-match-head.cc:293 #11 0x0000000012ca642c in gimple_bitwise_inverted_equal_p (expr1=0x7ffff5c21170, expr2=0x7ffff5c21680, valueize=0x119a59f8 <rpo_vn_valueize(tree_node*)>) at /home/seurer/gcc/git/gcc-test/gcc/gimple-match-head.cc:293 #12 0x0000000012ca642c in gimple_bitwise_inverted_equal_p (expr1=0x7ffff5c21170, expr2=0x7ffff5c21a28, valueize=0x119a59f8 <rpo_vn_valueize(tree_node*)>) at /home/seurer/gcc/git/gcc-test/gcc/gimple-match-head.cc:293 #13 0x0000000012ca642c in gimple_bitwise_inverted_equal_p (expr1=0x7ffff5c21170, expr2=0x7ffff5c21680, valueize=0x119a59f8 <rpo_vn_valueize(tree_node*)>) at /home/seurer/gcc/git/gcc-test/gcc/gimple-match-head.cc:293 #14 0x0000000012ca642c in gimple_bitwise_inverted_equal_p (expr1=0x7ffff5c21170, expr2=0x7ffff5c21a28, valueize=0x119a59f8 <rpo_vn_valueize(tree_node*)>) at /home/seurer/gcc/git/gcc-test/gcc/gimple-match-head.cc:293 #15 0x0000000012ca642c in gimple_bitwise_inverted_equal_p (expr1=0x7ffff5c21170, expr2=0x7ffff5c21680, valueize=0x119a59f8 <rpo_vn_valueize(tree_node*)>) at /home/seurer/gcc/git/gcc-test/gcc/gimple-match-head.cc:293 ...etc... for at least hundreds more Looks like an infinite recursion.