Skip to content
  1. Jun 30, 2008
    • Dan Gohman's avatar
      Update comments to new-style syntax. · 4246cf8e
      Dan Gohman authored
      llvm-svn: 52925
      4246cf8e
    • Dan Gohman's avatar
      Rename ISD::LOCATION to ISD::DBG_STOPPOINT to better reflect its · 5c73a886
      Dan Gohman authored
      purpose, and give it a custom SDNode subclass so that it doesn't
      need to have line number, column number, filename string, and
      directory string, all existing as individual SDNodes to be the
      operands.
      
      This was the only user of ISD::STRING, StringSDNode, etc., so
      remove those and some associated code.
      
      This makes stop-points considerably easier to read in
      -view-legalize-dags output, and reduces overhead (creating new
      nodes and copying std::strings into them) on code containing
      debugging information.
      
      llvm-svn: 52924
      5c73a886
    • Duncan Sands's avatar
      Revert the SelectionDAG optimization that makes · 1ae6ef83
      Duncan Sands authored
      it impossible to create a MERGE_VALUES node with
      only one result: sometimes it is useful to be able
      to create a node with only one result out of one of
      the results of a node with more than one result, for
      example because the new node will eventually be used
      to replace a one-result node using ReplaceAllUsesWith,
      cf X86TargetLowering::ExpandFP_TO_SINT.  On the other
      hand, most users of MERGE_VALUES don't need this and
      for them the optimization was valuable.  So add a new
      utility method getMergeValues for creating MERGE_VALUES
      nodes which by default performs the optimization.
      Change almost everywhere to use getMergeValues (and
      tidy some stuff up at the same time).
      
      llvm-svn: 52893
      1ae6ef83
  2. Jun 25, 2008
  3. Jun 22, 2008
  4. Jun 19, 2008
    • Eli Friedman's avatar
      Fix a bug with <8 x i16> shuffle lowering on X86 where parts of the · 8d66e98c
      Eli Friedman authored
      shuffle could be skipped.  The check is invalid because the loop index i 
      doesn't correspond to the element actually inserted. The correct check is
      already done a few lines earlier, for whether the element is already in 
      the right spot, so this shouldn't have any effect on the codegen for 
      code that was already correct.
      
      llvm-svn: 52486
      8d66e98c
  5. Jun 17, 2008
  6. Jun 14, 2008
  7. Jun 11, 2008
  8. Jun 08, 2008
    • Duncan Sands's avatar
      Remove comparison methods for MVT. The main cause · 11dd4245
      Duncan Sands authored
      of apint codegen failure is the DAG combiner doing
      the wrong thing because it was comparing MVT's using
      < rather than comparing the number of bits.  Removing
      the < method makes this mistake impossible to commit.
      Instead, add helper methods for comparing bits and use
      them.
      
      llvm-svn: 52098
      11dd4245
  9. Jun 06, 2008
    • Duncan Sands's avatar
      Wrap MVT::ValueType in a struct to get type safety · 13237ac3
      Duncan Sands authored
      and better control the abstraction.  Rename the type
      to MVT.  To update out-of-tree patches, the main
      thing to do is to rename MVT::ValueType to MVT, and
      rewrite expressions like MVT::getSizeInBits(VT) in
      the form VT.getSizeInBits().  Use VT.getSimpleVT()
      to extract a MVT::SimpleValueType for use in switch
      statements (you will get an assert failure if VT is
      an extended value type - these shouldn't exist after
      type legalization).
      This results in a small speedup of codegen and no
      new testsuite failures (x86-64 linux).
      
      llvm-svn: 52044
      13237ac3
  10. May 29, 2008
  11. May 28, 2008
  12. May 23, 2008
  13. May 16, 2008
  14. May 15, 2008
  15. May 14, 2008
  16. May 13, 2008
  17. May 12, 2008
  18. May 10, 2008
  19. May 09, 2008
  20. May 08, 2008
  21. May 06, 2008
  22. May 05, 2008
  23. May 04, 2008
  24. 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
  25. Apr 28, 2008
  26. Apr 27, 2008
    • Chris Lattner's avatar
      A few inline asm cleanups: · 724539c0
      Chris Lattner authored
        - Make targetlowering.h fit in 80 cols.
        - Make LowerAsmOperandForConstraint const.
        - Make lowerXConstraint -> LowerXConstraint
        - Make LowerXConstraint return a const char* instead of taking a string byref.
      
      llvm-svn: 50312
      724539c0
Loading