Skip to content
  1. Aug 28, 2008
    • Dale Johannesen's avatar
      Split the ATOMIC NodeType's to include the size, e.g. · 41be0d44
      Dale Johannesen authored
      ATOMIC_LOAD_ADD_{8,16,32,64} instead of ATOMIC_LOAD_ADD.
      Increased the Hardcoded Constant OpActionsCapacity to match.
      Large but boring; no functional change.
      
      This is to support partial-word atomics on ppc; i8 is
      not a valid type there, so by the time we get to lowering, the
      ATOMIC_LOAD nodes looks the same whether the type was i8 or i32.
      The information can be added to the AtomicSDNode, but that is the
      largest SDNode; I don't fully understand the SDNode allocation,
      but it is sensitive to the largest node size, so increasing
      that must be bad.  This is the alternative.
      
      llvm-svn: 55457
      41be0d44
  2. Aug 22, 2008
  3. Aug 20, 2008
  4. Aug 19, 2008
  5. Aug 06, 2008
  6. Jul 30, 2008
    • Dan Gohman's avatar
      Reapply r54147 with a constraint to only use the 8-bit · 86b06335
      Dan Gohman authored
      subreg form on x86-64, to avoid the problem with x86-32
      having GPRs that don't have 8-bit subregs.
      
      Also, change several 16-bit instructions to use 
      equivalent 32-bit instructions. These have a smaller
      encoding and avoid partial-register updates.
      
      llvm-svn: 54223
      86b06335
  7. Jul 29, 2008
  8. Jul 22, 2008
  9. Jun 25, 2008
  10. Jun 18, 2008
  11. Jun 14, 2008
  12. May 31, 2008
    • Dan Gohman's avatar
      Teach the DAGISelEmitter to not compute the variable_ops operand · bd3390c7
      Dan Gohman authored
      index for the input pattern in terms of the output pattern. Instead
      keep track of how many fixed operands the input pattern actually
      has, and have the input matching code pass the output-emitting
      function that index value. This simplifies the code, disentangles
      variables_ops from the support for predication operations, and
      makes variable_ops more robust.
      
      llvm-svn: 51808
      bd3390c7
  13. May 29, 2008
  14. May 14, 2008
  15. May 13, 2008
  16. May 12, 2008
  17. May 05, 2008
  18. May 04, 2008
  19. Apr 30, 2008
    • Arnold Schwaighofer's avatar
      Tail call optimization improvements: · be0de34e
      Arnold Schwaighofer authored
      Move platform independent code (lowering of possibly overwritten
      arguments, check for tail call optimization eligibility) from
      target X86ISelectionLowering.cpp to TargetLowering.h and
      SelectionDAGISel.cpp.
      
      Initial PowerPC tail call implementation:
      
      Support ppc32 implemented and tested (passes my tests and
      test-suite llvm-test).  
      Support ppc64 implemented and half tested (passes my tests).
      On ppc tail call optimization is performed if 
        caller and callee are fastcc
        call is a tail call (in tail call position, call followed by ret)
        no variable argument lists or byval arguments
        option -tailcallopt is enabled
      Supported:
       * non pic tail calls on linux/darwin
       * module-local tail calls on linux(PIC/GOT)/darwin(PIC)
       * inter-module tail calls on darwin(PIC)
      If constraints are not met a normal call will be emitted.
      
      A test checking the argument lowering behaviour on x86-64 was added.
      
      llvm-svn: 50477
      be0de34e
  20. Apr 25, 2008
  21. Apr 19, 2008
  22. Apr 18, 2008
  23. Apr 17, 2008
  24. Apr 12, 2008
  25. Mar 27, 2008
  26. Mar 19, 2008
  27. Mar 15, 2008
  28. Mar 13, 2008
    • Christopher Lamb's avatar
      Get rid of a pseudo instruction and replace it with subreg based operation on... · dd55d3f1
      Christopher Lamb authored
      Get rid of a pseudo instruction and replace it with subreg based operation on real instructions, ridding the asm printers of the hack used to do this previously. In the process, update LowerSubregs to be careful about eliminating copies that have side affects. 
      
      Note: the coalescer will have to be careful about this too, when it starts coalescing insert_subreg nodes.
      llvm-svn: 48329
      dd55d3f1
Loading