Skip to content
  1. Jul 18, 2008
  2. Jul 12, 2008
    • Evan Cheng's avatar
      Typos. · 2b3c52d5
      Evan Cheng authored
      llvm-svn: 53504
      2b3c52d5
    • Evan Cheng's avatar
      Fix PR2536: a nasty spiller bug. If a two-address instruction uses a register... · e0a352e8
      Evan Cheng authored
      Fix PR2536: a nasty spiller bug. If a two-address instruction uses a register but the use portion of its live range is not part of its liveinterval, it must be defined by an implicit_def. In that case, do not spill the use. e.g.
      8   %reg1024<def> = IMPLICIT_DEF
      12  %reg1024<def> = INSERT_SUBREG %reg1024<kill>, %reg1025, 2
      
      The live range [12, 14) are not part of the r1024 live interval since it's defined by an implicit def. It will not conflicts with live interval of r1025. Now suppose both registers are spilled, you can easily see a situation where both registers are reloaded before the INSERT_SUBREG and both target registers that would overlap.
      
      llvm-svn: 53503
      e0a352e8
  3. Jul 10, 2008
  4. Jul 08, 2008
    • Dan Gohman's avatar
      Pool-allocation for MachineInstrs, MachineBasicBlocks, and · 3b460303
      Dan Gohman authored
      MachineMemOperands. The pools are owned by MachineFunctions.
      
      This drastically reduces the number of calls to malloc/free made
      during the "Emit" phase of scheduling, as well as later phases
      in CodeGen. Combined with other changes, this speeds up the
      "instruction selection" phase of CodeGen by 10% in some cases.
      
      llvm-svn: 53212
      3b460303
  5. Jul 03, 2008
    • Evan Cheng's avatar
      - Remove calls to copyKillDeadInfo which is an N^2 function. Instead,... · 7d98a48f
      Evan Cheng authored
      - Remove calls to copyKillDeadInfo which is an N^2 function. Instead, propagate kill / dead markers as new instructions are constructed in foldMemoryOperand, convertToThressAddress, etc.
      - Also remove LiveVariables::instructionChanged, etc. Replace all calls with cheaper calls which update VarInfo kill list.
      
      llvm-svn: 53097
      7d98a48f
  6. Jun 26, 2008
  7. Jun 21, 2008
  8. Jun 19, 2008
  9. Jun 17, 2008
  10. Jun 16, 2008
  11. Jun 06, 2008
  12. Jun 05, 2008
  13. Jun 04, 2008
  14. Jun 02, 2008
  15. May 30, 2008
  16. May 29, 2008
  17. May 28, 2008
  18. May 24, 2008
  19. May 22, 2008
    • David Greene's avatar
      · 83048703
      David Greene authored
      When rewriting defs and uses after spilling, don't set the weight of a
      live interval to infinity if the instruction being rewritten is an
      original remat def instruction.  We were only checking against the clone
      of the remat def which doesn't actually appear in the IR at all.
      
      llvm-svn: 51440
      83048703
  20. May 20, 2008
  21. May 13, 2008
  22. May 06, 2008
  23. Apr 16, 2008
  24. Apr 11, 2008
  25. Apr 09, 2008
  26. Apr 03, 2008
  27. Apr 01, 2008
  28. Mar 31, 2008
    • Evan Cheng's avatar
      The support for remat of instructions with a register operand is hackish, to... · 73d7c3bf
      Evan Cheng authored
      The support for remat of instructions with a register operand is hackish, to say the least. Since the register operand guaranteed to be PIC base and that it is already live at all uses, we are making sure it will not be spilled after its uses are rematerialized for both performance and correctness reasons.
      
      llvm-svn: 48976
      73d7c3bf
  29. Mar 15, 2008
  30. Mar 11, 2008
Loading