• Ben.Lippmeier@anu.edu.au's avatar
    Split Reg into vreg/hreg and add register pairs · f9288086
    Ben.Lippmeier@anu.edu.au authored
     * The old Reg type is now split into VirtualReg and RealReg.
     * For the graph coloring allocator, the type of the register graph
       is now (Graph VirtualReg RegClass RealReg), which shows that it colors
       in nodes representing virtual regs with colors representing real regs.
       (as was intended)  
     * RealReg contains two contructors, RealRegSingle and RealRegPair,
       where RealRegPair is used to represent a SPARC double reg 
       constructed from two single precision FP regs. 
     * On SPARC we can now allocate double regs into an arbitrary register
       pair, instead of reserving some reg ranges to only hold float/double values. 
CodeGen.hs 70.9 KB