https://gcc.gnu.org/bugzilla/show_bug.cgi?id=128437
--- Comment #12 from Uroš Bizjak <ubizjak at gmail dot com> ---
(In reply to Drea Pinski from comment #11)
> The question is what is failing here on why it is not being deletable too.
> Is it find_call_stack_args or somethign else?
Breakpoint 1, deletable_insn_p (insn=0x7fffe97fe280, fast=false,
arg_stores=0x0) at ../../git/gcc/gcc/dce.cc:141
141 return find_call_stack_args (as_a <rtx_call_insn *> (insn), false,
(gdb) p debug_rtx (insn)
(call_insn/u 10 9 11 3 (parallel [
(set (reg:DI 0 ax)
(call:DI (mem:QI (symbol_ref:DI ("__tls_get_addr")) [0 S1 A8])
(const_int 0 [0])))
(unspec:DI [
(reg/f:DI 7 sp)
] UNSPEC_TLS_LD_BASE)
(clobber (reg:DI 5 di))
]) "pr128437.C":17:7 1788 {*tls_local_dynamic_base_64_di}
(expr_list:REG_EH_REGION (const_int -2147483648 [0xffffffff80000000])
(nil))
(nil) 0)
$1 = void
(gdb) fin
Run till exit from #0 deletable_insn_p (insn=0x7fffe97fe280, fast=false,
arg_stores=0x0) at ../../git/gcc/gcc/dce.cc:141
0x000000000286b366 in prescan_insns_for_dce (fast=false) at
../../git/gcc/gcc/dce.cc:686
686 if (deletable_insn_p (insn, fast, arg_stores))
Value returned is $2 = true
Apparently, the insn gets marked deletable here.