Re: need some insights (dynamic code genration on DSP's)

Eliot Miranda <eliotm@pacbell.net>
Thu, 09 Aug 2007 13:56:52 -0700

          From comp.compilers

Related articles
need some insights (dynamic code genration on DSP's) nils.pipenbrinck@tesbv.com (Nils Pipenbrinck) (2007-08-07)
Re: need some insights (dynamic code genration on DSP's) eliotm@pacbell.net (Eliot Miranda) (2007-08-09)
| List of all articles for this month |

From: Eliot Miranda <eliotm@pacbell.net>
Newsgroups: comp.compilers
Date: Thu, 09 Aug 2007 13:56:52 -0700
Organization: Compilers Central
References: 07-08-022
Keywords: code, DSP
Posted-Date: 09 Aug 2007 17:07:34 EDT

Hi Nils,


          I have no expertise here but I have worked with Smalltalk JITs
for many years. Since no one else has said anything I'll risk making
a fool of myself...


Assuming you can deal with a loop as a sequence of instructions, then
to deal with modified registers I imagine you'd separate the read side
of the register from the write side and add the ability to represent
the constraint that the read side of the register is only valid some
number of cycles after the last access to the write side.


If you're familiar with the use of PHI nodes in Static Single
Assignment then within a loop containing a register modification (loop
counter or pointer) there would be three variables


      rNr identifier for reading the register rN on entry to the loop
      rNw identifier for writing teh register rN within the loop
      rNr' identifier for reading the register rN after writing it via rNw
      M the number of cycles it takes for the value written to rNw to
                propagate to rNr'


Then the constraints are that within the loop
        rNr can only be read before rNw
        rNr' can only be used M cycles before rNw
and either
        rNw can only be used M cycles before the end of the loop
or rNr can only be used M cycles after the start of the loop
or the sum of the cycles between the start of the loop and the first
read of rNr and the cycles between the last use of rNw and the end of
the loop must be at least M


HTH


Nils Pipenbrinck wrote:
> My goal is to write a dynamic code generator for multi-media
> applications running on a DSP (TI C64Plus). Just simple rendering
> loops - two times nested will be the most complex thing I'll ever have
> to deal with. ...


--
The surest sign that intelligent life exists elsewhere in Calvin &
the universe is that none of it has tried to contact us. Hobbes.
--
Eliot ,,,^..^,,, Smalltalk - scene not herd



Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.