https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55212
--- Comment #193 from Kazumoto Kojima <kkojima at gcc dot gnu.org> --- (In reply to Kazumoto Kojima from comment #192) Related parts of RTL dumps. [.ira dump] (insn 1747 1745 1748 125 (set (reg/f:SI 2854) (plus:SI (reg/f:SI 153 sfp) (const_int -136 [0xffffffffffffff78]))) "/git/gcc/gcc/pointer-query. cc":1906:14 48 {*addsi3_compact_lra} (expr_list:REG_EQUAL (plus:SI (reg/f:SI 153 sfp) (const_int -136 [0xffffffffffffff78])) (nil))) (insn 1748 1747 1749 125 (set (reg/f:SI 2847) (symbol_ref:SI ("__movmem_i4_even") [flags 0x1])) "/git/gcc/gcc/pointer- query.cc":1906:14 191 {movsi_ie} (expr_list:REG_EQUIV (symbol_ref:SI ("__movmem_i4_even") [flags 0x1]) (nil))) (insn 1749 1748 1750 125 (set (reg:SI 4 r4) (reg/f:SI 2854)) "/git/gcc/gcc/pointer-query.cc":1906:14 191 {movsi_ie} (expr_list:REG_EQUAL (plus:SI (reg/f:SI 153 sfp) (const_int -136 [0xffffffffffffff78])) (nil))) (insn 1750 1749 1751 125 (set (reg:SI 5 r5) (reg/v/f:SI 724 [ pref ])) "/git/gcc/gcc/pointer-query.cc":1906:14 191 {movsi_ie} (nil)) (insn 1751 1750 1752 125 (set (reg:SI 6 r6) (const_int 16 [0x10])) "/git/gcc/gcc/pointer-query.cc":1906:14 191 {movsi_ie} (nil)) (insn 1752 1751 1753 125 (parallel [ (set (mem:BLK (reg:SI 4 r4) [0 A8]) (mem:BLK (reg:SI 5 r5) [0 A8])) (use (reg/f:SI 2847)) (use (const_int 0 [0])) (use (reg:SI 6 r6)) (clobber (reg:SI 146 pr)) (clobber (reg:SI 147 t)) (clobber (reg:SI 4 r4)) (clobber (reg:SI 5 r5)) (clobber (reg:SI 6 r6)) (clobber (reg:SI 0 r0)) (clobber (reg:SI 1 r1)) (clobber (reg:SI 2 r2)) (clobber (reg:SI 3 r3)) ]) "/git/gcc/gcc/pointer-query.cc":1906:14 326 {block_lump_real_i4} (expr_list:REG_DEAD (reg:SI 6 r6) (expr_list:REG_DEAD (reg:SI 5 r5) (expr_list:REG_DEAD (reg:SI 4 r4) (expr_list:REG_UNUSED (reg:SI 147 t) (expr_list:REG_UNUSED (reg:SI 146 pr) (expr_list:REG_UNUSED (reg:SI 6 r6) (expr_list:REG_UNUSED (reg:SI 5 r5) (expr_list:REG_UNUSED (reg:SI 4 r4) (expr_list:REG_UNUSED (reg:SI 3 r3) (expr_list:REG_UNUSED (reg:SI 2 r2) (expr_list:REG_UNUSED (reg:SI 1 r1) (expr_list:REG_UNUSED (reg:SI 0 r0) (nil)))))))))))))) (insn 1753 1752 1754 125 (set (mem:SI (plus:SI (reg/f:SI 15 r15) (const_int 8 [0x8])) [0 S4 A32]) (reg/v/f:SI 726 [ qry ])) "/git/gcc/gcc/pointer-query.cc":1911:26 191 {movsi_ie} (expr_list:REG_DEAD (reg/v/f:SI 726 [ qry ]) (nil))) (insn 1754 1753 1756 125 (set (mem:SI (plus:SI (reg/f:SI 15 r15) (const_int 4 [0x4])) [0 S4 A32]) (reg/v/f:SI 725 [ snlim ])) "/git/gcc/gcc/pointer-query.cc":1911:26 191 {movsi_ie} (expr_list:REG_DEAD (reg/v/f:SI 725 [ snlim ]) (nil))) (insn 1756 1754 1758 125 (set (mem:SI (reg/f:SI 15 r15) [0 S4 A32]) (reg/f:SI 2854)) "/git/gcc/gcc/pointer-query.cc":1911:26 191 {movsi_ie} (nil)) (insn 1758 1756 1759 125 (set (reg:SI 7 r7) (const_int 0 [0])) "/git/gcc/gcc/pointer-query.cc":1911:26 191 {movsi_ie} (nil)) (insn 1759 1758 1760 125 (set (reg:SI 6 r6) (reg:SI 2905)) "/git/gcc/gcc/pointer-query.cc":1911:26 191 {movsi_ie} (nil)) (insn 1760 1759 1761 125 (set (reg:SI 5 r5) (reg:SI 2904)) "/git/gcc/gcc/pointer-query.cc":1911:26 191 {movsi_ie} (expr_list:REG_DEAD (reg:SI 2904) (nil))) (insn 1761 1760 6435 125 (set (reg:SI 4 r4) (reg/v/f:SI 484 [ base ])) "/git/gcc/gcc/pointer-query.cc":1911:26 191 {movsi_ie} (nil)) (insn 6435 1761 1762 125 (set (reg/f:SI 1448) (symbol_ref:SI ("_ZL17compute_objsize_rP9tree_nodeP6gimplebiP10access_refR16ssa_name_limit_tP13pointer_query") [flags 0x3] <function_decl 0x7ca377e5ff00 compute_objsize_r>)) "/git/gcc/gcc/pointer-query.cc":1911:26 191 {movsi_ie} (expr_list:REG_EQUIV (symbol_ref:SI ("_ZL17compute_objsize_rP9tree_nodeP6gimplebiP10access_refR16ssa_name_limit_tP13pointer_query") [flags 0x3] <function_decl 0x7ca377e5ff00 compute_objsize_r>) (nil))) (call_insn 1762 6435 5898 125 (parallel [ (set (reg:SI 0 r0) (call (mem:SI (reg/f:SI 1448) [0 compute_objsize_r S4 A32]) (const_int 12 [0xc]))) (use (reg:SI 154 fpscr0)) (clobber (reg:SI 146 pr)) ]) "/git/gcc/gcc/pointer-query.cc":1911:26 233 {call_valuei} (expr_list:REG_DEAD (reg/f:SI 1448) (expr_list:REG_DEAD (reg:SI 7 r7) (expr_list:REG_DEAD (reg:SI 6 r6) (expr_list:REG_DEAD (reg:SI 5 r5) (expr_list:REG_DEAD (reg:SI 4 r4) (expr_list:REG_CALL_DECL (symbol_ref:SI ("_ZL17compute_objsize_rP9tree_nodeP6gimplebiP10access_refR16ssa_name_limit_tP13pointer_query") [flags 0x3] <function_decl 0x7ca377e5ff00 compute_objsize_r>) (expr_list:REG_EH_REGION (const_int 0 [0]) (nil)))))))) (expr_list:SI (use (reg:SI 4 r4)) (expr_list:SI (use (reg:SI 5 r5)) (expr_list:SI (use (reg:SI 6 r6)) (expr_list:SI (use (reg:SI 7 r7)) (expr_list:SI (use (mem/f:SI (reg/f:SI 15 r15) [0 S4 A32])) (expr_list:SI (use (mem/f:SI (plus:SI (reg/f:SI 15 r15) (const_int 4 [0x4])) [0 S4 A32])) (expr_list:SI (use (mem/f:SI (plus:SI (reg/f:SI 15 r15) (const_int 8 [0x8])) [0 S4 A32])) (nil))))))))) (insn 5898 1762 1763 125 (set (reg:SI 2942) (reg:SI 0 r0)) "/git/gcc/gcc/pointer-query.cc":1911:26 191 {movsi_ie} (expr_list:REG_DEAD (reg:SI 0 r0) (nil))) [.reload dump] (insn 1747 1745 7176 126 (set (reg/f:SI 4 r4 [2854]) (plus:SI (reg/f:SI 15 r15) (const_int 212 [0xd4]))) "/git/gcc/gcc/pointer-query.cc":1906:14 48 {*addsi3_compact_lra} (expr_list:REG_EQUAL (plus:SI (reg/f:SI 153 sfp) (const_int -136 [0xffffffffffffff78])) (nil))) (insn 7176 1747 1748 126 (set (mem/c:SI (plus:SI (reg/f:SI 15 r15) (const_int 36 [0x24])) [506 %sfp+-312 S4 A32]) (reg/f:SI 4 r4 [2854])) "/git/gcc/gcc/pointer-query.cc":1906:14 191 {movsi_ie} (nil)) (note 1748 7176 1750 126 NOTE_INSN_DELETED) (insn 1750 1748 1751 126 (set (reg:SI 5 r5) (reg/v/f:SI 8 r8 [orig:724 pref ] [724])) "/git/gcc/gcc/pointer-query.cc":1906:14 191 {movsi_ie} (nil)) (insn 1751 1750 6818 126 (set (reg:SI 6 r6) (const_int 16 [0x10])) "/git/gcc/gcc/pointer-query.cc":1906:14 191 {movsi_ie} (nil)) (insn 6818 1751 1752 126 (set (reg:SI 7 r7 [3270]) (symbol_ref:SI ("__movmem_i4_even") [flags 0x1])) "/git/gcc/gcc/pointer-query.cc":1906:14 191 {movsi_ie} (nil)) (insn 1752 6818 1753 126 (parallel [ (set (mem:BLK (reg:SI 4 r4) [0 A8]) (mem:BLK (reg:SI 5 r5) [0 A8])) (use (reg:SI 7 r7 [3270])) (use (const_int 0 [0])) (use (reg:SI 6 r6)) (clobber (reg:SI 146 pr)) (clobber (reg:SI 147 t)) (clobber (reg:SI 4 r4)) (clobber (reg:SI 5 r5)) (clobber (reg:SI 6 r6)) (clobber (reg:SI 0 r0)) (clobber (reg:SI 1 r1)) (clobber (reg:SI 2 r2)) (clobber (reg:SI 3 r3)) ]) "/git/gcc/gcc/pointer-query.cc":1906:14 326 {block_lump_real_i4} (nil)) (insn 1753 1752 6819 126 (set (mem:SI (plus:SI (reg/f:SI 15 r15) (const_int 8 [0x8])) [0 S4 A32]) (reg/v/f:SI 10 r10 [orig:726 qry ] [726])) "/git/gcc/gcc/pointer-query.cc":1911:26 191 {movsi_ie} (nil)) (insn 6819 1753 1754 126 (set (reg/v/f:SI 1 r1 [orig:725 snlim ] [725]) (reg/v/f:SI 14 r14 [orig:725 snlim ] [725])) "/git/gcc/gcc/pointer-query.cc":1911:26 191 {movsi_ie} (nil)) (insn 1754 6819 1756 126 (set (mem:SI (plus:SI (reg/f:SI 15 r15) (const_int 4 [0x4])) [0 S4 A32]) (reg/v/f:SI 1 r1 [orig:725 snlim ] [725])) "/git/gcc/gcc/pointer-query.cc":1911:26 191 {movsi_ie} (nil)) (insn 1756 1754 1758 126 (set (mem:SI (reg/f:SI 15 r15) [0 S4 A32]) (reg/f:SI 4 r4 [2854])) "/git/gcc/gcc/pointer-query.cc":1911:26 191 {movsi_ie} (nil)) (insn 1758 1756 1759 126 (set (reg:SI 7 r7) (const_int 0 [0])) "/git/gcc/gcc/pointer-query.cc":1911:26 191 {movsi_ie} (nil)) (insn 1759 1758 1760 126 (set (reg:SI 6 r6) (reg:SI 13 r13 [2905])) "/git/gcc/gcc/pointer-query.cc":1911:26 191 {movsi_ie} (nil)) (insn 1760 1759 1761 126 (set (reg:SI 5 r5) (mem/c:SI (plus:SI (reg/f:SI 15 r15) (const_int 32 [0x20])) [506 %sfp+-316 S4 A32])) "/git/gcc/gcc/pointer-query.cc":1911:26 191 {movsi_ie} (nil)) (insn 1761 1760 6435 126 (set (reg:SI 4 r4) (mem/c:SI (plus:SI (reg/f:SI 15 r15) (const_int 40 [0x28])) [506 %sfp+-308 S4 A32])) "/git/gcc/gcc/pointer-query.cc":1911:26 191 {movsi_ie} (nil)) (insn 6435 1761 1762 126 (set (reg/f:SI 0 r0 [1448]) (symbol_ref:SI ("_ZL17compute_objsize_rP9tree_nodeP6gimplebiP10access_refR16ssa_name_limit_tP13pointer_query") [flags 0x3] <function_decl 0x7ca377e5ff00 compute_objsize_r>)) "/git/gcc/gcc/pointer-query.cc":1911:26 191 {movsi_ie} (expr_list:REG_EQUIV (symbol_ref:SI ("_ZL17compute_objsize_rP9tree_nodeP6gimplebiP10access_refR16ssa_name_limit_tP13pointer_query") [flags 0x3] <function_decl 0x7ca377e5ff00 compute_objsize_r>) (nil))) (call_insn 1762 6435 1763 126 (parallel [ (set (reg:SI 0 r0) (call (mem:SI (reg/f:SI 0 r0 [1448]) [0 compute_objsize_r S4 A32]) (const_int 12 [0xc]))) (use (reg:SI 154 fpscr0)) (clobber (reg:SI 146 pr)) ]) "/git/gcc/gcc/pointer-query.cc":1911:26 233 {call_valuei} (expr_list:REG_CALL_DECL (symbol_ref:SI ("_ZL17compute_objsize_rP9tree_nodeP6gimplebiP10access_refR16ssa_name_limit_tP13pointer_query") [flags 0x3] <function_decl 0x7ca377e5ff00 compute_objsize_r>) (expr_list:REG_EH_REGION (const_int 0 [0]) (nil))) (expr_list:SI (use (reg:SI 4 r4)) (expr_list:SI (use (reg:SI 5 r5)) (expr_list:SI (use (reg:SI 6 r6)) (expr_list:SI (use (reg:SI 7 r7)) (expr_list:SI (use (mem/f:SI (reg/f:SI 15 r15) [0 S4 A32])) (expr_list:SI (use (mem/f:SI (plus:SI (reg/f:SI 15 r15) (const_int 4 [0x4])) [0 S4 A32])) (expr_list:SI (use (mem/f:SI (plus:SI (reg/f:SI 15 r15) (const_int 8 [0x8])) [0 S4 A32])) (nil))))))))) (insn 1763 1762 7174 126 (set (reg:SI 1 r1 [orig:718 <retval> ] [718]) (reg:SI 0 r0 [2942])) "/git/gcc/gcc/pointer-query.cc":1911:26 191 {movsi_ie} (nil)) It looks that LRA allocates r4 to the psuedo register r2854 and assumes that it's preserved beyond the insn 1752 block_lump_real_i4. Can the SH's sfunc pattern like block_lump_real_i4 confuse RA?