Skip to content
  1. Dec 12, 2006
  2. Dec 11, 2006
    • Chris Lattner's avatar
      trunc to integer, not to FP. · e810140c
      Chris Lattner authored
      llvm-svn: 32426
      e810140c
    • Chris Lattner's avatar
      implement promotion of unions containing two packed types of the same width. · 23f4b68f
      Chris Lattner authored
      This implements Transforms/ScalarRepl/union-packed.ll
      
      llvm-svn: 32422
      23f4b68f
    • Chris Lattner's avatar
      * Eliminate calls to CastInst::createInferredCast. · 216c3028
      Chris Lattner authored
       * Add support for promoting unions with fp values in them.  This produces
         our new int<->fp bitcast instructions, implementing
         Transforms/ScalarRepl/union-fp-int.ll
      
      As an example, this allows us to compile this:
      
      union intfloat { int i; float f; };
      float invsqrt(const float arg_x) {
          union intfloat x = { .f = arg_x };
          const float xhalf = arg_x * 0.5f;
          x.i = 0x5f3759df - (x.i >> 1);
          return x.f * (1.5f - xhalf * x.f * x.f);
      }
      
      into:
      
      _invsqrt:
              movss 4(%esp), %xmm0
              movd %xmm0, %eax
              sarl %eax
              movl $1597463007, %ecx
              subl %eax, %ecx
              movd %ecx, %xmm1
              mulss LCPI1_0, %xmm0
              mulss %xmm1, %xmm0
              movss LCPI1_1, %xmm2
              mulss %xmm1, %xmm0
              subss %xmm0, %xmm2
              movl 8(%esp), %eax
              mulss %xmm2, %xmm1
              movss %xmm1, (%eax)
              ret
      
      instead of:
      
      _invsqrt:
              subl $4, %esp
              movss 8(%esp), %xmm0
              movss %xmm0, (%esp)
              movl (%esp), %eax
              movl $1597463007, %ecx
              sarl %eax
              subl %eax, %ecx
              movl %ecx, (%esp)
              mulss LCPI1_0, %xmm0
              movss (%esp), %xmm1
              mulss %xmm1, %xmm0
              mulss %xmm1, %xmm0
              movss LCPI1_1, %xmm2
              subss %xmm0, %xmm2
              mulss %xmm2, %xmm1
              movl 12(%esp), %eax
              movss %xmm1, (%eax)
              addl $4, %esp
              ret
      
      llvm-svn: 32418
      216c3028
  3. Dec 06, 2006
  4. Nov 27, 2006
    • Reid Spencer's avatar
      For PR950: · 6c38f0bb
      Reid Spencer authored
      The long awaited CAST patch. This introduces 12 new instructions into LLVM
      to replace the cast instruction. Corresponding changes throughout LLVM are
      provided. This passes llvm-test, llvm/test, and SPEC CPUINT2000 with the
      exception of 175.vpr which fails only on a slight floating point output
      difference.
      
      llvm-svn: 31931
      6c38f0bb
  5. Nov 26, 2006
  6. Nov 08, 2006
    • Reid Spencer's avatar
      For PR950: · fdff938a
      Reid Spencer authored
      This patch converts the old SHR instruction into two instructions,
      AShr (Arithmetic) and LShr (Logical). The Shr instructions now are not
      dependent on the sign of their operands.
      
      llvm-svn: 31542
      fdff938a
  7. Nov 07, 2006
  8. Nov 02, 2006
    • Reid Spencer's avatar
      For PR786: · de46e484
      Reid Spencer authored
      Turn on -Wunused and -Wno-unused-parameter. Clean up most of the resulting
      fall out by removing unused variables. Remaining warnings have to do with
      unused functions (I didn't want to delete code without review) and unused
      variables in generated code. Maintainers should clean up the remaining
      issues when they see them. All changes pass DejaGnu tests and Olden.
      
      llvm-svn: 31380
      de46e484
  9. Oct 24, 2006
  10. Oct 20, 2006
    • Reid Spencer's avatar
      For PR950: · e0fc4dfc
      Reid Spencer authored
      This patch implements the first increment for the Signless Types feature.
      All changes pertain to removing the ConstantSInt and ConstantUInt classes
      in favor of just using ConstantInt.
      
      llvm-svn: 31063
      e0fc4dfc
  11. Oct 09, 2006
  12. Aug 28, 2006
  13. Aug 27, 2006
  14. Jun 29, 2006
  15. Apr 20, 2006
  16. Apr 14, 2006
  17. Mar 08, 2006
  18. Jan 24, 2006
  19. Jan 23, 2006
  20. Dec 14, 2005
  21. Dec 12, 2005
    • Chris Lattner's avatar
      Implement a little hack for parity with GCC on crafty. This speeds up · 3b0a62d8
      Chris Lattner authored
      186.crafty by about 16% (from 15.109s to 13.045s) on my system.
      
      This turns allocas with unions/casts into scalars.  For example crafty has
      something like this:
      
          union doub {
            unsigned short i[4];
            long long d;
          };
      int f(long long a) {
        return ((union doub){.d=a}).i[1];
      }
      
      Instead of generating loads and stores to an alloca, we now promote the
      whole thing to a scalar long value.
      
      This implements: Transforms/ScalarRepl/AggregatePromote.ll
      
      llvm-svn: 24667
      3b0a62d8
  22. Nov 05, 2005
    • Nate Begeman's avatar
      Add support alignment of allocation instructions. · 848622f8
      Nate Begeman authored
      Add support for specifying alignment and size of setjmp jmpbufs.
      
      No targets currently do anything with this information, nor is it presrved
      in the bytecode representation.  That's coming up next.
      
      llvm-svn: 24196
      848622f8
  23. Apr 22, 2005
  24. Jan 08, 2005
  25. Nov 15, 2004
  26. Nov 14, 2004
  27. Sep 20, 2004
  28. Sep 02, 2004
    • Reid Spencer's avatar
      Changes For Bug 352 · 7c16caa3
      Reid Spencer authored
      Move include/Config and include/Support into include/llvm/Config,
      include/llvm/ADT and include/llvm/Support. From here on out, all LLVM
      public header files must be under include/llvm/.
      
      llvm-svn: 16137
      7c16caa3
  29. Jul 29, 2004
  30. Jul 15, 2004
  31. Jun 19, 2004
  32. Apr 05, 2004
  33. Dec 02, 2003
  34. Nov 25, 2003
  35. Nov 11, 2003
  36. Oct 29, 2003
Loading