Skip to content
  1. Sep 03, 2008
    • Dan Gohman's avatar
      Fix addRegisterDead and addRegisterKilled to be more thorough · c7367b45
      Dan Gohman authored
      when searching for redundant subregister dead/kill bits.
      
      Previously it was common to see instructions marked like this:
        "RET %EAX<imp-use,kill>, %AX<imp-use,kill>"
      
      With this change, addRegisterKilled continues scanning after
      finding the %EAX operand, so it proceeds to discover the
      redundant %AX kill and eliminates it, producing this:
        "RET %EAX<imp-use,kill>"
      
      This currently has no effect on the generated code.
      
      llvm-svn: 55698
      c7367b45
  2. Aug 30, 2008
  3. Aug 27, 2008
  4. Aug 24, 2008
  5. Aug 20, 2008
  6. Aug 15, 2008
  7. Aug 14, 2008
  8. 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
  9. Jul 21, 2008
  10. Jul 19, 2008
  11. Jul 18, 2008
  12. Jul 16, 2008
  13. Jul 11, 2008
  14. Jul 10, 2008
  15. Jul 09, 2008
  16. 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
  17. Jul 07, 2008
  18. Jul 03, 2008
  19. Jul 02, 2008
  20. Jul 01, 2008
    • Dan Gohman's avatar
      Split ISD::LABEL into ISD::DBG_LABEL and ISD::EH_LABEL, eliminating · fb19f940
      Dan Gohman authored
      the need for a flavor operand, and add a new SDNode subclass,
      LabelSDNode, for use with them to eliminate the need for a label id
      operand.
      
      Change instruction selection to let these label nodes through
      unmodified instead of creating copies of them. Teach the MachineInstr
      emitter how to emit a MachineInstr directly from an ISD label node.
      
      This avoids the need for allocating SDNodes for the label id and
      flavor value, as well as SDNodes for each of the post-isel label,
      label id, and label flavor.
      
      llvm-svn: 52943
      fb19f940
  21. Jun 28, 2008
  22. Jun 27, 2008
  23. May 29, 2008
  24. May 06, 2008
  25. Apr 16, 2008
  26. Apr 07, 2008
  27. Mar 20, 2008
  28. Mar 13, 2008
  29. Mar 05, 2008
  30. Mar 04, 2008
  31. Mar 03, 2008
  32. Feb 26, 2008
  33. Feb 24, 2008
  34. Feb 14, 2008
Loading