Skip to content
  1. Jan 27, 2006
  2. Jan 26, 2006
  3. Dec 17, 2005
  4. Dec 12, 2005
  5. Nov 15, 2005
  6. Aug 19, 2005
  7. Jul 11, 2005
  8. Jul 06, 2005
    • Nate Begeman's avatar
      First round of support for doing scalar FP using the SSE2 ISA extension and · 8a093360
      Nate Begeman authored
      XMM registers.  There are many known deficiencies and fixmes, which will be
      addressed ASAP.  The major benefit of this work is that it will allow the
      LLVM register allocator to allocate FP registers across basic blocks.
      
      The x86 backend will still default to x87 style FP.  To enable this work,
      you must pass -enable-sse-scalar-fp and either -sse2 or -sse3 to llc.
      
      An example before and after would be for:
      double foo(double *P) { double Sum = 0; int i; for (i = 0; i < 1000; ++i)
                              Sum += P[i]; return Sum; }
      
      The inner loop looks like the following:
      x87:
      .LBB_foo_1:     # no_exit
              fldl (%esp)
              faddl (%eax,%ecx,8)
              fstpl (%esp)
              incl %ecx
              cmpl $1000, %ecx
              #FP_REG_KILL
              jne .LBB_foo_1  # no_exit
      
      SSE2:
              addsd (%eax,%ecx,8), %xmm0
              incl %ecx
              cmpl $1000, %ecx
              #FP_REG_KILL
              jne .LBB_foo_1  # no_exit
      
      llvm-svn: 22340
      8a093360
  9. Jun 27, 2005
  10. Apr 22, 2005
  11. Jan 07, 2005
  12. Aug 24, 2004
  13. Aug 16, 2004
  14. Jul 22, 2004
  15. Apr 06, 2004
    • Jakub Staszak's avatar
      · de647007
      Jakub Staszak authored
      Tablgen files for really simple instruction selector
      
      llvm-svn: 12714
      de647007
  16. Dec 28, 2003
  17. Dec 13, 2003
    • Alkis Evlogimenos's avatar
      Add a floating point killer pass. This pass runs before register · 904cd6d4
      Alkis Evlogimenos authored
      allocaton on the X86 to add information to the machine code denoting
      that our floating point stackifier cannot handle virtual point
      register that are alive across basic blocks. This pass adds an
      implicit def of all virtual floating point register at the end of each
      basic block.
      
      llvm-svn: 10446
      904cd6d4
  18. Dec 01, 2003
    • Chris Lattner's avatar
      Add an option to enable the SSA based peephole optimizer. · 6d760d7c
      Chris Lattner authored
      Eventually this pass will provide substantially better code in the interim between when we
      have a crappy isel and nice isel.  Unfortunately doing so requires fixing the backend to
      actually SUPPORT all of the fancy addressing modes that we now generate, and writing a DCE
      pass for machine code.  Each of these is a fairly substantial job, so this will remain disabled
      for the immediate future.  :(
      
      llvm-svn: 10276
      6d760d7c
  19. Nov 11, 2003
  20. Oct 21, 2003
  21. Aug 13, 2003
  22. Aug 11, 2003
  23. Aug 03, 2003
  24. Jul 27, 2003
  25. Jul 23, 2003
    • Brian Gaeke's avatar
      Printer.cpp: Ditch addRequired/getAnalysis, because they leave · a92dce47
      Brian Gaeke authored
        Printer::doFinalization() out in the cold.  Now we pass in a TargetMachine
        to Printer's constructor and get the TargetData from the TargetMachine.
       Don't pass TargetMachine or MRegisterInfo objects around in the Printer.
       Constify TargetData references.
      X86.h: Update comment and prototype of createX86CodePrinterPass().
      X86TargetMachine.cpp: Update callers of createX86CodePrinterPass().
      
      llvm-svn: 7275
      a92dce47
  26. Jun 03, 2003
  27. Jan 13, 2003
  28. Dec 28, 2002
  29. Dec 16, 2002
  30. Dec 03, 2002
  31. Nov 18, 2002
  32. Oct 29, 2002
Loading