Skip to content
  1. Aug 19, 2005
  2. Jul 11, 2005
  3. 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
  4. Jun 27, 2005
  5. Apr 22, 2005
  6. Jan 07, 2005
  7. Aug 24, 2004
  8. Aug 16, 2004
  9. Jul 22, 2004
  10. Apr 06, 2004
    • Jakub Staszak's avatar
      · de647007
      Jakub Staszak authored
      Tablgen files for really simple instruction selector
      
      llvm-svn: 12714
      de647007
  11. Dec 28, 2003
  12. 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
  13. 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
  14. Nov 11, 2003
  15. Oct 21, 2003
  16. Aug 13, 2003
  17. Aug 11, 2003
  18. Aug 03, 2003
  19. Jul 27, 2003
  20. 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
  21. Jun 03, 2003
  22. Jan 13, 2003
  23. Dec 28, 2002
  24. Dec 16, 2002
  25. Dec 03, 2002
  26. Nov 18, 2002
  27. Oct 29, 2002
  28. Oct 26, 2002
Loading