Skip to content
  1. Feb 29, 2004
    • Alkis Evlogimenos's avatar
      Improve allocation order: · c7fd0770
      Alkis Evlogimenos authored
      1) For 8-bit registers try to use first the ones that are parts of the
         same register (AL then AH). This way we only alias 2 16/32-bit
         registers after allocating 4 8-bit variables.
      
      2) Move EBX as the last register to allocate. This will cause less
         spills to happen since we will have 8-bit registers available up to
         register excaustion (assuming we use the allocation order). It
         would be nice if we could push all of the 8-bit aliased registers
         towards the end but we much prefer to keep callee saved register to
         the end to avoid saving them on entry and exit of the function.
      
      For example this gives a slight reduction of spills with linear scan
      on 164.gzip.
      
      Before:
      
      11221 asm-printer           - Number of machine instrs printed
        975 spiller               - Number of loads added
        675 spiller               - Number of stores added
        398 spiller               - Number of register spills
      
      After:
      
      11182 asm-printer           - Number of machine instrs printed
        952 spiller               - Number of loads added
        652 spiller               - Number of stores added
        386 spiller               - Number of register spills
      
      llvm-svn: 11996
      c7fd0770
  2. Oct 21, 2003
  3. Aug 11, 2003
  4. Aug 07, 2003
  5. Aug 04, 2003
  6. Aug 03, 2003
Loading