https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103252

--- Comment #11 from Hongtao.liu <crazylht at gmail dot com> ---
> Why cprop_hardreg can't handle this?

cprop_hardreg only prop hard register, not memory.

(insn 86 85 227 15 (set (reg:SI 68 k0 [132])
        (mem/u/c:SI (plus:SI (reg:SI 3 bx [82])
                (const:SI (unspec:SI [
                            (symbol_ref:SI ("__libc_tsd_CTYPE_B") [flags 0x60] 
<var_decl 0x7f6668cf2b40 __libc_tsd_CTYPE_B>)
                        ] UNSPEC_GOTNTPOFF))) [7  S4 A8])) "est.c":81:67 75
{*movsi_internal}
     (expr_list:REG_EQUIV (mem/u/c:SI (plus:SI (reg:SI 3 bx [82])
                (const:SI (unspec:SI [
                            (symbol_ref:SI ("__libc_tsd_CTYPE_B") [flags 0x60] 
<var_decl 0x7f6668cf2b40 __libc_tsd_CTYPE_B>)
                        ] UNSPEC_GOTNTPOFF))) [7  S4 A8])
        (nil)))
(insn 227 86 202 15 (set (reg:SI 2 cx [132])
        (reg:SI 68 k0 [132])) test.c":81:67 75 {*movsi_internal}
     (expr_list:REG_DEAD (reg:SI 68 k0 [132])
        (nil)))
(insn 202 227 88 15 (set (reg/f:SI 68 k0 [orig:131 __libc_tsd_CTYPE_B ] [131])
        (mem/f/c:SI (reg:SI 2 cx [132]) [4 __libc_tsd_CTYPE_B+0 S4 A32 AS2]))
"test.c":81:67 75 {*movsi_internal}
     (expr_list:REG_DEAD (reg:SI 2 cx [132])
        (nil)))
(note 88 202 89 15 NOTE_INSN_DELETED)
(note 89 88 228 15 NOTE_INSN_DELETED)
(insn 228 89 203 15 (set (reg/f:SI 2 cx [orig:131 __libc_tsd_CTYPE_B ] [131])
        (reg/f:SI 68 k0 [orig:131 __libc_tsd_CTYPE_B ] [131])) "test.c":81:43
75 {*movsi_internal}
     (expr_list:REG_DEAD (reg/f:SI 68 k0 [orig:131 __libc_tsd_CTYPE_B ] [131])
        (nil)))

Reply via email to