https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106061
Bug ID: 106061 Summary: [13 Regression] during GIMPLE pass: einline ICE: verify_cgraph_node failed (edge points to wrong declaration) with -Og Product: gcc Version: 13.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: ipa Assignee: unassigned at gcc dot gnu.org Reporter: zsojka at seznam dot cz CC: marxin at gcc dot gnu.org Target Milestone: --- Host: x86_64-pc-linux-gnu Created attachment 53193 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=53193&action=edit reduced testcase Compiler output: $ x86_64-pc-linux-gnu-gcc -Og testcase.c testcase.c: In function 'foo': testcase.c:14:3: error: edge points to wrong declaration: 14 | bar (-1); | ^~~~~~~~ <function_decl 0x7f78c998ee00 __builtin_trap type <function_type 0x7f78c98d55e8 type <void_type 0x7f78c98c5f18 void VOID align:8 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type 0x7f78c98c5f18 pointer_to_this <pointer_type 0x7f78c98cd000>> QI size <integer_cst 0x7f78c98a9e40 constant 8> unit-size <integer_cst 0x7f78c98a9e58 constant 1> align:8 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type 0x7f78c98d55e8 arg-types <tree_list 0x7f78c98c1b18 value <void_type 0x7f78c98c5f18 void>>> volatile nothrow public external built-in decl_6 QI <built-in>:0:0 align:8 warn_if_not_align:0 built-in: BUILT_IN_NORMAL:BUILT_IN_TRAP context <translation_unit_decl 0x7f78c98b7c30 testcase.c> attributes <tree_list 0x7f78c998ceb0 purpose <identifier_node 0x7f78c98d1be0 nothrow> chain <tree_list 0x7f78c998ce88 purpose <identifier_node 0x7f78c98d1c30 leaf> chain <tree_list 0x7f78c998ce60 purpose <identifier_node 0x7f78c98d1b90 noreturn> chain <tree_list 0x7f78c998ce38 purpose <identifier_node 0x7f78c98d1a00 cold>>>>> chain <function_decl 0x7f78c998ef00 __builtin_unreachable>> Instead of: <function_decl 0x7f78c99e8200 baz type <function_type 0x7f78c98d4930 type <integer_type 0x7f78c98c55e8 int public SI size <integer_cst 0x7f78c98a9f90 constant 32> unit-size <integer_cst 0x7f78c98a9fa8 constant 4> align:32 warn_if_not_align:0 symtab:0 alias-set 1 canonical-type 0x7f78c98c55e8 precision:32 min <integer_cst 0x7f78c98a9f48 -2147483648> max <integer_cst 0x7f78c98a9f60 2147483647> pointer_to_this <pointer_type 0x7f78c98cda80>> QI size <integer_cst 0x7f78c98a9e40 constant 8> unit-size <integer_cst 0x7f78c98a9e58 constant 1> align:8 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type 0x7f78c98d4930 pointer_to_this <pointer_type 0x7f78c99e1bd0>> addressable used public external decl_5 QI testcase.c:1:5 align:8 warn_if_not_align:0 context <translation_unit_decl 0x7f78c98b7c30 testcase.c> chain <var_decl 0x7f78c98b8bd0 g>> bar/1 (bar) @0x7f78c9a0e000 Type: function definition analyzed Visibility: semantic_interposition prevailing_def_ironly References: Referring: Function bar/1 is inline copy in foo/2 Availability: local Function flags: body local Called by: foo/2 (inlined) Calls: __builtin_trap/4 (0 (precise),1.00 per call) during GIMPLE pass: einline testcase.c:14:3: internal compiler error: verify_cgraph_node failed 0xed2848 cgraph_node::verify_node() /repo/gcc-trunk/gcc/cgraph.cc:3881 0xec1a54 symtab_node::verify() /repo/gcc-trunk/gcc/symtab.cc:1359 0x144eba1 expand_call_inline /repo/gcc-trunk/gcc/tree-inline.cc:4912 0x1451659 gimple_expand_calls_inline /repo/gcc-trunk/gcc/tree-inline.cc:5318 0x1451659 optimize_inline_calls(tree_node*) /repo/gcc-trunk/gcc/tree-inline.cc:5490 0x24590be early_inliner(function*) /repo/gcc-trunk/gcc/ipa-inline.cc:3038 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. $ x86_64-pc-linux-gnu-gcc -v Using built-in specs. COLLECT_GCC=/repo/gcc-trunk/binary-latest-amd64/bin/x86_64-pc-linux-gnu-gcc COLLECT_LTO_WRAPPER=/repo/gcc-trunk/binary-trunk-r13-1213-20220623060722-g31ce821a790-checking-yes-rtl-df-extra-nobootstrap-amd64/bin/../libexec/gcc/x86_64-pc-linux-gnu/13.0.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: /repo/gcc-trunk//configure --enable-languages=c,c++ --enable-valgrind-annotations --disable-nls --enable-checking=yes,rtl,df,extra --disable-bootstrap --with-cloog --with-ppl --with-isl --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --target=x86_64-pc-linux-gnu --with-ld=/usr/bin/x86_64-pc-linux-gnu-ld --with-as=/usr/bin/x86_64-pc-linux-gnu-as --disable-libstdcxx-pch --prefix=/repo/gcc-trunk//binary-trunk-r13-1213-20220623060722-g31ce821a790-checking-yes-rtl-df-extra-nobootstrap-amd64 Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 13.0.0 20220623 (experimental) (GCC)