Skip to content
  1. Jun 03, 2008
  2. May 29, 2008
  3. May 14, 2008
  4. May 13, 2008
  5. Apr 30, 2008
  6. Apr 27, 2008
  7. Apr 12, 2008
    • Dan Gohman's avatar
      Drop ISD::MEMSET, ISD::MEMMOVE, and ISD::MEMCPY, which are not Legal · 544ab2c5
      Dan Gohman authored
      on any current target and aren't optimized in DAGCombiner. Instead
      of using intermediate nodes, expand the operations, choosing between
      simple loads/stores, target-specific code, and library calls,
      immediately.
      
      Previously, the code to emit optimized code for these operations
      was only used at initial SelectionDAG construction time; now it is
      used at all times. This fixes some cases where rep;movs was being
      used for small copies where simple loads/stores would be better.
      
      This also cleans up code that checks for alignments less than 4;
      let the targets make that decision instead of doing it in
      target-independent code. This allows x86 to use rep;movs in
      low-alignment cases.
      
      Also, this fixes a bug that resulted in the use of rep;stos for
      memsets of 0 with non-constant memory size when the alignment was
      at least 4. It's better to use the library in this case, which
      can be significantly faster when the size is large.
      
      This also preserves more SourceValue information when memory
      intrinsics are lowered into simple loads/stores.
      
      llvm-svn: 49572
      544ab2c5
  8. Mar 31, 2008
  9. Mar 25, 2008
  10. Mar 20, 2008
  11. Mar 11, 2008
  12. Mar 10, 2008
  13. Mar 09, 2008
  14. Mar 08, 2008
  15. Mar 06, 2008
  16. Feb 28, 2008
  17. Feb 26, 2008
  18. Feb 23, 2008
    • Scott Michel's avatar
      Merge current work back to tree to minimize diffs and drift. Major highlights · 7d5eaec6
      Scott Michel authored
      for CellSPU modifications:
      
      - SPUInstrInfo.td refactoring: "multiclass" really is _your_ friend.
      - Other improvements based on refactoring effort in SPUISelLowering.cpp,
        esp. in SPUISelLowering::PerformDAGCombine(), where zero amount shifts and
        rotates are now eliminiated, other scalar-to-vector-to-scalar silliness
        is also eliminated.
      - 64-bit operations are being implemented, _muldi3.c gcc runtime now
        compiles and generates the right code. More work still needs to be done.
      
      llvm-svn: 47532
      7d5eaec6
  19. Feb 20, 2008
  20. Feb 16, 2008
  21. Feb 15, 2008
    • Dale Johannesen's avatar
      Rewrite tblgen handling of subtarget features so · 6ca3ccf5
      Dale Johannesen authored
      it follows the order of the enum, not alphabetical.
      The motivation is to make -mattr=+ssse3,+sse41
      select SSE41 as it ought to.  Added "ignored"
      enum values of 0 to PPC and SPU to avoid compiler
      warnings.
      
      llvm-svn: 47143
      6ca3ccf5
  22. Feb 14, 2008
  23. Feb 13, 2008
  24. Feb 10, 2008
  25. Feb 08, 2008
  26. Feb 05, 2008
  27. Feb 02, 2008
    • Evan Cheng's avatar
      Get rid of the annoying blank lines before labels. · 32e5347e
      Evan Cheng authored
      llvm-svn: 46667
      32e5347e
    • Evan Cheng's avatar
      SDIsel processes llvm.dbg.declare by recording the variable debug information... · efd142a9
      Evan Cheng authored
      SDIsel processes llvm.dbg.declare by recording the variable debug information descriptor and its corresponding stack frame index in MachineModuleInfo. This only works if the local variable is "homed" in the stack frame. It does not work for byval parameter, etc.
      Added ISD::DECLARE node type to represent llvm.dbg.declare intrinsic. Now the intrinsic calls are lowered into a SDNode and lives on through out the codegen passes.
      For now, since all the debugging information recording is done at isel time, when a ISD::DECLARE node is selected, it has the side effect of also recording the variable. This is a short term solution that should be fixed in time.
      
      llvm-svn: 46659
      efd142a9
  28. Jan 31, 2008
  29. Jan 30, 2008
    • Evan Cheng's avatar
      Even though InsertAtEndOfBasicBlock is an ugly hack it still deserves a proper... · 29cfb67e
      Evan Cheng authored
      Even though InsertAtEndOfBasicBlock is an ugly hack it still deserves a proper name. Rename it to EmitInstrWithCustomInserter since it does not necessarily insert
      instruction at the end.
      
      llvm-svn: 46562
      29cfb67e
    • Scott Michel's avatar
      More cleanups for CellSPU: · bb713ae0
      Scott Michel authored
      - Expand tabs... (poss 80-col violations, will get them later...)
      - Consolidate logic for SelectDFormAddr and SelectDForm2Addr into a single
        function, simplifying maintenance. Also reduced custom instruction
        generation for SPUvecinsert/INSERT_MASK.
      
      llvm-svn: 46544
      bb713ae0
Loading