From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 83D3B3858D33; Tue, 24 Jan 2023 03:18:38 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 83D3B3858D33 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1674530318; bh=jrMYmo3eY1MF+gaxNDfjKDzdXhUQoR8BgIww4lbtuqI=; h=From:To:Subject:Date:In-Reply-To:References:From; b=JDkt+bX6ElI42T4wMIf+3Usd/C3CC7kfM3Ig28MkF5/qDJB25Y4j4AwINxcse3CKM dDSyO0PPzkQ3DD1ha3VCfNnGVVLcbmdZLwwfBghpt161p2qrHgw2WgGVJsXuvc1eqx 6QWV7aNwRGCw1XrtpH3MLsM3ba28h9I00Q9FE3GM= From: "pinskia at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/108500] -O -finline-small-functions results in "internal compiler error: Segmentation fault" on a very large program (700k function calls) Date: Tue, 24 Jan 2023 03:18:36 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: tree-optimization X-Bugzilla-Version: 12.2.0 X-Bugzilla-Keywords: compile-time-hog, memory-hog X-Bugzilla-Severity: normal X-Bugzilla-Who: pinskia at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: cf_reconfirmed_on component everconfirmed bug_status Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 List-Id: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D108500 Andrew Pinski changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed| |2023-01-24 Component|ipa |tree-optimization Ever confirmed|0 |1 Status|UNCONFIRMED |NEW --- Comment #3 from Andrew Pinski --- assign_dfs_numbers has not changed for years ... 1: *cfun.cfg =3D {x_entry_block_ptr =3D 0x7ffff73ef6c0, x_exit_block_ptr =3D 0x7ffff73ef720, x_basic_block_info =3D 0x7fffbcdd4000, x_n_basic_blocks =3D 1399837, x_n_edges =3D 1399836, x_last_basic_block =3D 1399837, last_label_= uid =3D 1, x_label_to_block_map =3D 0x7ffff7277f18, x_profile_status =3D PROFILE_ABSEN= T, x_dom_computed =3D { DOM_NO_FAST_QUERY, DOM_NONE}, x_n_bbs_in_dom_tree =3D {1399837, 0}, max_jumptable_ents =3D 0, count_max =3D {static n_bits =3D 61, static max_c= ount =3D 2305843009213693950, static uninitialized_count =3D 2305843009213693951, m_= val =3D 2305843009213693951, m_quality =3D GUESSED_LOCAL}, edge_flags_allocated =3D= 262143, bb_flags_allocated =3D 32767} #0 assign_dfs_numbers (node=3D0x45b8ae0, num=3Dnum@entry=3D0x7fffffffd850)= at /home/apinski/src/upstream-gcc/gcc/gcc/dominance.cc:644 #1 0x0000000000b0ca0c in compute_dom_fast_query (dir=3D, dir@entry=3D) at /home/apinski/src/upstream-gcc/gcc/gcc/dominance.cc:= 674 #2 calculate_dominance_info(cdi_direction) () at /home/apinski/src/upstream-gcc/gcc/gcc/dominance.cc:748 #3 0x0000000000fbb0ea in cleanup_tree_cfg_noloop (ssa_update_flags=3D) at /home/apinski/src/upstream-gcc/gcc/gcc/tree-cfgcleanup.cc:= 1111 #4 cleanup_tree_cfg(unsigned int) () at /home/apinski/src/upstream-gcc/gcc/gcc/tree-cfgcleanup.cc:1212 #5 0x0000000000e7b27d in execute_function_todo(function*, void*) () at /home/apinski/src/upstream-gcc/gcc/gcc/passes.cc:2057 #6 0x0000000000e7b70f in execute_todo(unsigned int) () at /home/apinski/src/upstream-gcc/gcc/gcc/passes.cc:2145 #7 0x0000000000e7e9f7 in execute_one_pass(opt_pass*) () at /home/apinski/src/upstream-gcc/gcc/gcc/passes.cc:2690 #8 0x0000000000e7ef00 in execute_pass_list_1(opt_pass*) () at /home/apinski/src/upstream-gcc/gcc/gcc/passes.cc:2753 #9 0x0000000000e7ef39 in execute_pass_list(function*, opt_pass*) () at /home/apinski/src/upstream-gcc/gcc/gcc/passes.cc:2764 #10 0x0000000000e7f85d in do_per_function_toporder(void (*)(function*, void= *), void*) [clone .part.0] () at /home/apinski/src/upstream-gcc/gcc/gcc/passes.cc:1780 #11 0x0000000000e7fa8f in do_per_function_toporder (data=3D, callback=3D0xe7ef20 ) at /home/apinski/src/upstream-gcc/gcc/gcc/passes.cc:3098 #12 execute_ipa_pass_list(opt_pass*) () at /home/apinski/src/upstream-gcc/gcc/gcc/passes.cc:3098 #13 0x0000000000ad8274 in ipa_passes () at /home/apinski/src/upstream-gcc/gcc/gcc/cgraphunit.cc:2203 #14 symbol_table::compile() [clone .part.0] () at /home/apinski/src/upstream-gcc/gcc/gcc/cgraphunit.cc:2324 #15 0x0000000000adac18 in symbol_table::compile (this=3D) at /home/apinski/src/upstream-gcc/gcc/gcc/cgraphunit.cc:2576 #16 symbol_table::finalize_compilation_unit (this=3D0x7ffff7246000) at /home/apinski/src/upstream-gcc/gcc/gcc/cgraphunit.cc:2576 #17 0x0000000000f69660 in compile_file () at /home/apinski/src/upstream-gcc/gcc/gcc/toplev.cc:471 #18 0x0000000000907eb2 in do_compile (no_backend=3Dfalse, no_backend@entry= =3D) at /home/apinski/src/upstream-gcc/gcc/gcc/toplev.cc:2125 #19 toplev::main(int, char**) () at /home/apinski/src/upstream-gcc/gcc/gcc/toplev.cc:2277 #20 0x0000000000909afb in main (argc=3D20, argv=3D0x7fffffffdd48) at /home/apinski/src/upstream-gcc/gcc/gcc/main.cc:39 almost 2 basic blocks per time the function inlined ... Maybe we can do some bb merging before calculate_dominance_info=