dfa scheduler, bundling and packing
林 彭
studypl@hotmail.com
Tue Aug 3 14:18:00 GMT 2004
>Richard Henderson wrote:
> >
> > While looking at PR 11693, I noticed a bunch of schedules like
> >
> > .mlx
> > nop 0
> > movl r18 = -4611686018427387904
> > .mmb
> > nop 0
> > addl r19 = 1632, r0
> > nop 0
> >
> > One immediately notices that this could have been
> >
> > .mlx
> > addl r19 = 1632, r0
> > movl r18 = -4611686018427387904
> >
> > and used half the code space.
> >
> > The issue, as far as I've been able to tell, is that *both* sequences
> > can be executed in one cycle, and that the scheduler is given no
other
> > metric by which to gauge the relative merits of these two sequences.
> >
> > Have you any thoughts on what could be done here?
> It can not be a pitfall of bundling because bundling never changes the
> insn order. So it is a pitfall of insn scheduler. The most probably
> movl has a bigger priority. In this case we could add another hook (or
> well one more scheduler hook) to recognize such situation during the
> first cycle multipass insn scheduler. There is a small probability that
> the first cycle multipass insn scheduler returns insns not in the
> original order when it could do this (I need to check). Fixing the last
> possible problem still does not remove the 1st problem. So I think
> there is no other way to fix it without introducing a new scheduler
> hook.
> I'll try to make a patch to fix the problem on this week.
> Vlad
I am intrested in this problem.
How to fix the problem ?
I want to know if we can use two dfa together,et.,for Itanium2 "two" and
"twob"
In the function max_issue() in haifa-sched.c,when "best==all" we find the
max issued insns,we use dfa twob to reord the insns to get better template
or code density.
But i am not sure dfa "tow" and "towb" can work synchronously ?
Or how i can make them work synchronously ?Specially for different insns
Lin
_________________________________________________________________
Ãâ·ÃÃÃÃà MSN Explorer: http://explorer.msn.com/lccn
More information about the Gcc
mailing list