Steven Bosscher wrote:
On Mon, Jul 13, 2009 at 11:46 PM, Kaz Kojima<kkoj...@rr.iij4u.or.jp> wrote:
Hi,
I hope DF/middle-end experts will comment about this.
PR target/40710
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40710
is a wrong code problem on SH. A delayed slot of a conditional
branch insn is wrongly filled with an insn changing stack pointer
in the failing case. I've tried to see what is going on.
You found out why the dbr-sched pass (reorg.c) needs a rewrite so
badly. DF needs a CFG, and reorg.c refuses to maintain a valid CFG. In
other words, it just doesn't work very well together. See PR39938,
PR40086, etc...
I think most of reorg's issues go away if it were changed to use the
same dependency information that we build for the schedulers rather than
trying to build it in an ad-hoc fashion on the fly. As an added benefit
it would be a hell of a lot faster.
Jeff