https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108500
Andrew Pinski <pinskia at gcc dot gnu.org> 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 <pinskia at gcc dot gnu.org> --- assign_dfs_numbers has not changed for years ... 1: *cfun.cfg = {x_entry_block_ptr = 0x7ffff73ef6c0, x_exit_block_ptr = 0x7ffff73ef720, x_basic_block_info = 0x7fffbcdd4000, x_n_basic_blocks = 1399837, x_n_edges = 1399836, x_last_basic_block = 1399837, last_label_uid = 1, x_label_to_block_map = 0x7ffff7277f18, x_profile_status = PROFILE_ABSENT, x_dom_computed = { DOM_NO_FAST_QUERY, DOM_NONE}, x_n_bbs_in_dom_tree = {1399837, 0}, max_jumptable_ents = 0, count_max = {static n_bits = 61, static max_count = 2305843009213693950, static uninitialized_count = 2305843009213693951, m_val = 2305843009213693951, m_quality = GUESSED_LOCAL}, edge_flags_allocated = 262143, bb_flags_allocated = 32767} #0 assign_dfs_numbers (node=0x45b8ae0, num=num@entry=0x7fffffffd850) at /home/apinski/src/upstream-gcc/gcc/gcc/dominance.cc:644 #1 0x0000000000b0ca0c in compute_dom_fast_query (dir=<optimized out>, dir@entry=<error reading variable: dwarf2_find_location_expression: Corrupted DWARF expression.>) 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=<error reading variable: dwarf2_find_location_expression: Corrupted DWARF expression.>) 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=<optimized out>, callback=0xe7ef20 <execute_pass_list(function*, opt_pass*)>) 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=<error reading variable: dwarf2_find_location_expression: Corrupted DWARF expression.>) at /home/apinski/src/upstream-gcc/gcc/gcc/cgraphunit.cc:2576 #16 symbol_table::finalize_compilation_unit (this=0x7ffff7246000) 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=false, no_backend@entry=<error reading variable: dwarf2_find_location_expression: Corrupted DWARF expression.>) 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=20, argv=0x7fffffffdd48) 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