simonmar 2004/01/16 09:24:55 PST
Modified files: (Branch: backend-hacking-branch)
ghc/compiler/nativeGen MachRegs.lhs NOTES PprMach.hs
Added files: (Branch: backend-hacking-branch)
ghc/compiler/nativeGen RegAllocInfo.hs RegisterAlloc.hs
Removed files: (Branch: backend-hacking-branch)
ghc/compiler/nativeGen RegAllocInfo.lhs
Log:
The new register allocator. It hasn't a hope in hell of working yet,
but at least it compiles.
We now use a linear scan algorithm, similar to "second-chance bin
packing" (I'll put a citation in the code later). It's fairly
straightforward (definitely simpler than the old version), but there's
a chunk of complexity that I haven't implemented yet to do with adding
fixup code between basic blocks when the register assignments from two
sources don't match.
Should be more efficient than the previous version, because a lot of
attention has been paid to using efficient data structures. We'll
see.
Revision Changes Path
1.50.2.6 +2 -2 fptools/ghc/compiler/nativeGen/MachRegs.lhs
1.6.46.2 +5 -3 fptools/ghc/compiler/nativeGen/NOTES
1.1.2.3 +4 -2 fptools/ghc/compiler/nativeGen/Attic/PprMach.hs
_______________________________________________
Cvs-ghc mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/cvs-ghc