Sat Feb 14 21:51:58 PST 2009  [email protected]
  * NCG: Split up the native code generator into arch specific modules
  
    - nativeGen/Instruction defines a type class for a generic
      instruction set. Each of the instruction sets we have, 
      X86, PPC and SPARC are instances of it.
    
    - The register alloctors use this type class when they need
      info about a certain register or instruction, such as
      regUsage, mkSpillInstr, mkJumpInstr, patchRegs..
    
    - nativeGen/Platform defines some data types enumerating
      the architectures and operating systems supported by the 
      native code generator.
    
    - DynFlags now keeps track of the current build platform, and 
      the PositionIndependentCode module uses this to decide what
      to do instead of relying of #ifdefs.
    
    - It's not totally retargetable yet. Some info info about the
      build target is still hardwired, but I've tried to contain
      most of it to a single module, TargetRegs.
    
    - Moved the SPILL and RELOAD instructions into LiveInstr.
    
    - Reg and RegClass now have their own modules, and are shared
      across all architectures.

    M ./compiler/ghc.cabal.in -8 +16
    M ./compiler/main/DynFlags.hs +3
    A ./compiler/nativeGen/Alpha/CodeGen.hs
    M ./compiler/nativeGen/Alpha/Instr.hs -3 +5
    A ./compiler/nativeGen/ArchReg.hs
    M ./compiler/nativeGen/AsmCodeGen.lhs -35 +104
    R ./compiler/nativeGen/Instrs.hs
    A ./compiler/nativeGen/Instruction.hs
    R ./compiler/nativeGen/MachCodeGen.hs
    M ./compiler/nativeGen/NCGMonad.hs -39 +80
    A ./compiler/nativeGen/PIC.hs
    A ./compiler/nativeGen/PPC/CodeGen.hs
    A ./compiler/nativeGen/PPC/Cond.hs
    M ./compiler/nativeGen/PPC/Instr.hs -37 +322
    M ./compiler/nativeGen/PPC/Ppr.hs -8 +120
    M ./compiler/nativeGen/PPC/RegInfo.hs -267 +48
    M ./compiler/nativeGen/PPC/Regs.hs -71 +31
    A ./compiler/nativeGen/Platform.hs
    R ./compiler/nativeGen/PositionIndependentCode.hs
    R ./compiler/nativeGen/PprMach.hs
    A ./compiler/nativeGen/Reg.hs
    M ./compiler/nativeGen/RegAlloc/Graph/Coalesce.hs -6 +17
    M ./compiler/nativeGen/RegAlloc/Graph/Main.hs -22 +34
    M ./compiler/nativeGen/RegAlloc/Graph/Spill.hs -12 +34
    M ./compiler/nativeGen/RegAlloc/Graph/SpillClean.hs -34 +61
    M ./compiler/nativeGen/RegAlloc/Graph/SpillCost.hs -17 +31
    M ./compiler/nativeGen/RegAlloc/Graph/Stats.hs -104 +39
    A ./compiler/nativeGen/RegAlloc/Graph/TrivColorable.hs
    M ./compiler/nativeGen/RegAlloc/Linear/Base.hs -1 +1
    M ./compiler/nativeGen/RegAlloc/Linear/FreeRegs.hs -1 +5
    M ./compiler/nativeGen/RegAlloc/Linear/JoinToTargets.hs -20 +27
    M ./compiler/nativeGen/RegAlloc/Linear/Main.hs -54 +63
    M ./compiler/nativeGen/RegAlloc/Linear/PPC/FreeRegs.hs -1 +3
    M ./compiler/nativeGen/RegAlloc/Linear/SPARC/FreeRegs.hs -1 +3
    M ./compiler/nativeGen/RegAlloc/Linear/StackMap.hs -1 +1
    M ./compiler/nativeGen/RegAlloc/Linear/State.hs -7 +9
    M ./compiler/nativeGen/RegAlloc/Linear/Stats.hs -5 +10
    M ./compiler/nativeGen/RegAlloc/Linear/X86/FreeRegs.hs -1 +3
    M ./compiler/nativeGen/RegAlloc/Liveness.hs -92 +172
    R ./compiler/nativeGen/RegAllocInfo.hs
    A ./compiler/nativeGen/RegClass.hs
    R ./compiler/nativeGen/Regs.hs
    R ./compiler/nativeGen/RegsBase.hs
    A ./compiler/nativeGen/SPARC/CodeGen.hs
    A ./compiler/nativeGen/SPARC/Cond.hs
    M ./compiler/nativeGen/SPARC/Instr.hs -63 +307
    M ./compiler/nativeGen/SPARC/Ppr.hs -15 +120
    M ./compiler/nativeGen/SPARC/RegInfo.hs -310 +79
    M ./compiler/nativeGen/SPARC/Regs.hs -151 +42
    A ./compiler/nativeGen/Size.hs
    A ./compiler/nativeGen/TargetReg.hs
    A ./compiler/nativeGen/X86/CodeGen.hs
    A ./compiler/nativeGen/X86/Cond.hs
    M ./compiler/nativeGen/X86/Instr.hs -29 +463
    M ./compiler/nativeGen/X86/Ppr.hs -20 +145
    M ./compiler/nativeGen/X86/RegInfo.hs -430 +99
    M ./compiler/nativeGen/X86/Regs.hs -87 +30

View patch online:
http://darcs.haskell.org/ghc/_darcs/patches/20090215055158-43c66-38c32b72cc7a1fcd81361cc36cdd6801106ef88e.gz

_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to