This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: dependence information in assembly output


On Fri, Jun 20, 2003 at 04:16:03PM +0200, Jan Hoogerbrugge wrote:
> Hi,
> 
> We are porting gcc to a VLIW processor. Because we don't think that
> gcc's own scheduler is generic enough to schedule code for our target
> we use an external instruction scheduler which schedules sequential
> code produced by gcc. The problem that we are facing is how to determine
> dependencies between loads and stores in the sequential code. The plan
> is to pass dependence information from gcc to the external scheduler
> via the assembly output file. I already discovered the INSN_DEPEND(insn)
> list which contains outgoing dependences.
> 
> What I need is a hook where INSN_DEPEND is valid and where I can write
> the list (of pairs of INSN_UIDs) to the assembly output file.
> Furthermore, this hook should be such that no new loads and stores
> are generated after it. Otherwise dependency information for these
> loads/stores will be missing.
> 
> What I also need is the scheduling region to which each (load/store)
> instruction belongs. No dependency information will exists for load/stores
> of different regions so the external scheduler can not reorder them.
> 
> Who can give me some advice?

Have you really looked at the DFA scheduler in detail?  My sense it would be
simpler over all to update the scheduler to be able to work with your machine,
than trying to do the stuff externally.  Otherwise, you will continually have
to adapt your code as the compiler changes.

Note, you will have to make things work in the cases where you are not running
the scheduler.  I am beginning to work on a machine with exposed load delays,
and am planning for the assembler to have a mode that it inserts NOPs as
needed (in a rather simplistic fashion).

-- 
Michael Meissner
email: gnu@the-meissners.org
http://www.the-meissners.org


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]