Skip to content
  • qinsoon's avatar
    fixed a few problems · 751795b1
    qinsoon authored
    1. asm call do not use all argument registers (otherwise it will keep
    them alive)
    2. spilling a register that is used and defined in one instruction will
    result in creating one new temporary, instead of two
    3. spilling now deals with floating point
    4. SELECT with int8 is implemented using conditional jump (cmov cannot
    take reg8)
    5. postcall convention now deals correctly with fp return values
    6. reg alloc conservative() was wrong in a few commits ago, fixed it
    7. in liveness analysis, when finding a move between a temp and a
    register, find the color for the register (such as RAX for EAX)