At 4:29 PM +0200 5/25/04, Leopold Toetsch wrote:
Dan Sugalski <[EMAIL PROTECTED]> wrote:

 I can see that helping in some circumstances (though not mine) but
 the code that the register allocator's having fits with has no .local
 declarations at all. It's all $x register usage from beginning to end.

Don't you have something like variables, which could be stored as globals?

If you code looked like ...

  $Px = global "foo"
  # some temps
  $Px += temp

... it would automatically cut down the life range of $Px.

Yes, I know. I've done that. Everything is in globals, everything is fetched only when actually needed, and only lives for the duration of the basic block. (The compiler keeps a cache and flushes it every label)


One more remark: do you use the same "$Px" in different places (for
different temps/vars) or do you increase "x" for different temps? The
latter should be much better.

I do the latter. There's no reuse of the $Px temps for different values. -- Dan

--------------------------------------"it's like this"-------------------
Dan Sugalski                          even samurai
[EMAIL PROTECTED]                         have teddy bears and even
                                      teddy bears get drunk

Reply via email to