Skip to content
  1. Sep 13, 2008
    • Dan Gohman's avatar
      Remove isImm(), isReg(), and friends, in favor of · 38453eeb
      Dan Gohman authored
      isImmediate(), isRegister(), and friends, to avoid confusion
      about having two different names with the same meaning. I'm
      not attached to the longer names, and would be ok with
      changing to the shorter names if others prefer it.
      
      llvm-svn: 56189
      38453eeb
  2. Aug 20, 2008
  3. Aug 19, 2008
  4. Aug 18, 2008
  5. Aug 14, 2008
  6. Aug 13, 2008
  7. Aug 06, 2008
  8. Jul 30, 2008
  9. Jul 29, 2008
  10. Jul 28, 2008
    • Dan Gohman's avatar
      Fold the useful features of alist and alist_node into ilist, and · 804c95df
      Dan Gohman authored
      a new ilist_node class, and remove them. Unlike alist_node,
      ilist_node doesn't attempt to manage storage itself, so it avoids
      the associated problems, including being opaque in gdb.
      
      Adjust the Recycler class so that it doesn't depend on alist_node.
      Also, change it to use explicit Size and Align parameters, allowing
      it to work when the largest-sized node doesn't have the greatest
      alignment requirement.
      
      Change MachineInstr's MachineMemOperand list from a pool-backed
      alist to a std::list for now.
      
      llvm-svn: 54146
      804c95df
    • Dan Gohman's avatar
      Fix a typo in a comment. · 24b3ce1d
      Dan Gohman authored
      llvm-svn: 54136
      24b3ce1d
  11. Jul 26, 2008
  12. Jul 25, 2008
  13. Jul 23, 2008
  14. Jul 19, 2008
  15. Jul 18, 2008
  16. 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
  17. Jul 10, 2008
  18. 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
  19. 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
  20. Jun 26, 2008
  21. Jun 21, 2008
  22. Jun 19, 2008
Loading