https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87162
--- Comment #4 from Wen Yang <yellowriver2010 at hotmail dot com> --- Program received signal SIGSEGV, Segmentation fault. 0x0000000000929fa1 in calculate_dominance_info (dir=CDI_DOMINATORS) at ../../gcc-6.2.0/gcc/dominance.c:633 633 if (dom_computed[dir_index] == DOM_OK) Missing separate debuginfos, use: debuginfo-install glibc-2.17-196.el7.x86_64 gmp-6.0.0-15.el7.x86_64 libmpc-1.0.1-3.el7.x86_64 mpfr-3.1.1-4.el7.x86_64 zlib-1.2.7-17.el7.x86_64 (gdb) bt #0 0x0000000000929fa1 in calculate_dominance_info (dir=CDI_DOMINATORS) at ../../gcc-6.2.0/gcc/dominance.c:633 #1 0x0000000000d62673 in gate_tm_init () at ../../gcc-6.2.0/gcc/trans-mem.c:2100 #2 0x0000000000d6289b in (anonymous namespace)::pass_tm_init::gate (this=0x2434380) at ../../gcc-6.2.0/gcc/trans-mem.c:2156 #3 0x0000000000c44738 in dump_one_pass (pass=0x2434380, pass_indent=1) at ../../gcc-6.2.0/gcc/passes.c:908 #4 0x0000000000c4483e in dump_pass_list (pass=0x2434380, indent=1) at ../../gcc-6.2.0/gcc/passes.c:930 #5 0x0000000000c44915 in gcc::pass_manager::dump_passes (this=0x242e580) at ../../gcc-6.2.0/gcc/passes.c:956 #6 0x0000000000c4488f in dump_passes () at ../../gcc-6.2.0/gcc/passes.c:942 #7 0x00000000008eaa25 in symbol_table::finalize_compilation_unit (this=0x7ffff04ed0a8) at ../../gcc-6.2.0/gcc/cgraphunit.c:2538 #8 0x0000000000d58f45 in compile_file () at ../../gcc-6.2.0/gcc/toplev.c:488 #9 0x0000000000d5b3ee in do_compile () at ../../gcc-6.2.0/gcc/toplev.c:1986 #10 0x0000000000d5b678 in toplev::main (this=0x7fffffffa7a0, argc=585, argv=0x7fffffffa8a8) at ../../gcc-6.2.0/gcc/toplev.c:2094 #11 0x000000000167e46e in main (argc=585, argv=0x7fffffffa8a8) at ../../gcc-6.2.0/gcc/main.c:39 (gdb) p dir_index $1 = 0 (gdb) l 628 void 629 calculate_dominance_info (cdi_direction dir) 630 { 631 unsigned int dir_index = dom_convert_dir_to_idx (dir); 632 633 if (dom_computed[dir_index] == DOM_OK) 634 { 635 checking_verify_dominators (dir); 636 return; 637 } #define dom_computed (cfun->cfg->x_dom_computed) (gdb) disassemble calculate_dominance_info Dump of assembler code for function calculate_dominance_info(cdi_direction): 0x0000000000929f6e <+0>: push %rbp 0x0000000000929f6f <+1>: mov %rsp,%rbp 0x0000000000929f72 <+4>: sub $0xc0,%rsp 0x0000000000929f79 <+11>: mov %edi,-0xb4(%rbp) 0x0000000000929f7f <+17>: mov -0xb4(%rbp),%eax 0x0000000000929f85 <+23>: mov %eax,%edi 0x0000000000929f87 <+25>: callq 0x928e19 <dom_convert_dir_to_idx(cdi_direction)> 0x0000000000929f8c <+30>: mov %eax,-0xc(%rbp) 0x0000000000929f8f <+33>: mov 0x19bd1a2(%rip),%rax # 0x22e7138 <cfun> 0x0000000000929f96 <+40>: mov 0x8(%rax),%rax 0x0000000000929f9a <+44>: mov -0xc(%rbp),%edx 0x0000000000929f9d <+47>: add $0xc,%rdx 0x0000000000929fa1 <+51>: mov 0x4(%rax,%rdx,4),%eax 0x0000000000929fa5 <+55>: cmp $0x2,%eax 0x0000000000929fa8 <+58>: jne 0x929fbc <calculate_dominance_info(cdi_direction)+78> ...... (gdb) p *(struct function *) 0x22e7138 $3 = {eh = 0x7fffd16e83f0, cfg = 0x0, gimple_body = 0x0, gimple_df = 0x49, x_current_loops = 0x0, su = 0x0, value_histograms = 0x0, decl = 0x0, static_chain_decl = 0x0, nonlocal_goto_save_area = 0x0, local_decls = 0x0, cilk_frame_decl = 0x100000000, machine = 0x24230c0, language = 0x0, used_types_hash = 0x0, fde = 0x0, last_stmt_uid = 0, funcdef_no = 0, function_start_locus = 0, function_end_locus = 0, curr_properties = 0, last_verified = 0, cannot_be_copied_reason = 0x0, last_clique = 0, va_list_gpr_size = 0, va_list_fpr_size = 0, calls_setjmp = 0, calls_alloca = 0, is_cilk_function = 0, calls_cilk_spawn = 0, has_nonlocal_label = 0, has_forced_label_in_static = 0, cannot_be_copied_set = 0, stdarg = 0, after_inlining = 0, always_inline_functions_inlined = 0, can_throw_non_call_exceptions = 0, can_delete_dead_exceptions = 0, returns_struct = 0, returns_pcc_struct = 0, has_local_explicit_reg_vars = 0, is_thunk = 0, has_force_vectorize_loops = 0, has_simduid_loops = 0, tail_call_marked = 0}