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.

Reply via email to