Changes between Version 17 and Version 18 of Commentary/Compiler/Backends/LLVM/WIP


Ignore:
Timestamp:
Mar 22, 2011 6:43:28 AM (3 years ago)
Author:
dterei
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Commentary/Compiler/Backends/LLVM/WIP

    v17 v18  
    5353 
    5454At the moment in the LLVM backend we always pass around the pinned STG registers as arguments for every Cmm function. A huge amount of the time though we aren't storing anything in the STG registers, they are dead really. If we can treat the correctly as dead then LLVM will have more free registers and the allocator should do a better job. We need to change the STG -> Cmm code generator to attach register liveness information at function exit points (e.g calls, jumps, returns). 
     55 
     56e.g This [http://hackage.haskell.org/trac/ghc/ticket/4308 bug (#4308)] is as a result of this problem.