This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Patch: enabling 1st insn scheduling for sh4.
- From: DJ Delorie <dj at redhat dot com>
- To: vmakarov at redhat dot com
- Cc: rth at redhat dot com, gcc-patches at gcc dot gnu dot org, sanjivg at noida dot hcltech dot com
- Date: Mon, 1 Mar 2004 15:44:59 -0500
- Subject: Re: Patch: enabling 1st insn scheduling for sh4.
- References: <403B8B1B.5000606@redhat.com> <200402260522.i1Q5MVOr025640@greed.delorie.com> <20040226054723.GB24218@redhat.com> <200402260609.i1Q69axa026294@greed.delorie.com> <200402260622.i1Q6MHwt029125@greed.delorie.com> <403E3980.9070004@redhat.com>
> Could you send me all call sequence (call, stack adjustment, the set
> from r0 just before insn scheduler). I'll probably approve the patch.
> I just think that the source could be more general (more general
> expression not just plus).
Sorry for the delay. Here's 22.life, from the call to the insn after
which gets mis-scheduled. In 23.sched the sequence is 1202, 1207,
1203, 1204.
(call_insn:HI 1202 1201 1203 126 ../../../../../../devo/newlib/libc/stdio/vfprintf.c:1257 (parallel [
(set (reg:SI 0 r0)
(call (mem:SI (reg/f:SI 553) [0 S4 A32])
(const_int 8 [0x8])))
(use (reg:PSI 151 ))
(clobber (reg:SI 146 pr))
]) 170 {call_valuei} (insn_list 1196 (insn_list 1197 (insn_list 1198 (insn_list 1199 (insn_list 1200 (insn_list 1201 (nil)))))))
(expr_list:REG_DEAD (reg:SI 4 r4 [ data ])
(expr_list:REG_DEAD (reg:SF 68 fr4 [ value ])
(expr_list:REG_DEAD (reg:SI 5 r5 [ mode ])
(expr_list:REG_DEAD (reg:SI 6 r6 [ ndigits ])
(expr_list:REG_DEAD (reg:SI 7 r7 [ decpt ])
(expr_list:REG_DEAD (reg:PSI 151 )
(expr_list:REG_DEAD (reg/f:SI 553)
(expr_list:REG_UNUSED (reg:SI 146 pr)
(nil)))))))))
(expr_list (use (reg:SI 7 r7 [ decpt ]))
(expr_list (use (reg:SI 6 r6 [ ndigits ]))
(expr_list (use (reg:SI 5 r5 [ mode ]))
(expr_list (use (reg:SF 68 fr4 [ value ]))
(expr_list (use (reg:SI 4 r4 [ data ]))
(nil)))))))
(insn:HI 1203 1202 1204 126 ../../../../../../devo/newlib/libc/stdio/vfprintf.c:1257 (set (reg/f:SI 15 r15)
(plus:SI (reg/f:SI 15 r15)
(const_int 8 [0x8]))) 23 {*addsi3_compact} (nil)
(nil))
(insn:HI 1204 1203 1206 126 ../../../../../../devo/newlib/libc/stdio/vfprintf.c:1257 (set (reg/v/f:SI 538 [ digits ])
(reg:SI 0 r0)) 123 {movsi_ie} (insn_list 1202 (nil))
(expr_list:REG_DEAD (reg:SI 0 r0)
(nil)))
(note:HI 1206 1204 1207 126 ("../../../../../../devo/newlib/libc/stdio/vfprintf.c") 1269)
(insn:HI 1207 1206 1208 126 ../../../../../../devo/newlib/libc/stdio/vfprintf.c:1269 (set (reg:SI 147 t)
(eq:SI (reg/v:SI 163 [ ch ])
(const_int 103 [0x67]))) 1 {cmpeqsi_t} (nil)
(nil))