Skip to content
  1. Mar 10, 2011
  2. Mar 09, 2011
  3. Mar 08, 2011
  4. Mar 07, 2011
  5. Mar 05, 2011
    • Andrew Trick's avatar
      Increased the register pressure limit on x86_64 from 8 to 12 · 641e2d4f
      Andrew Trick authored
      regs. This is the only change in this checkin that may affects the
      default scheduler. With better register tracking and heuristics, it
      doesn't make sense to artificially lower the register limit so much.
      
      Added -sched-high-latency-cycles and X86InstrInfo::isHighLatencyDef to
      give the scheduler a way to account for div and sqrt on targets that
      don't have an itinerary. It is currently defaults to 10 (the actual
      number doesn't matter much), but only takes effect on non-default
      schedulers: list-hybrid and list-ilp.
      
      Added several heuristics that can be individually disabled for the
      non-default sched=list-ilp mode. This helps us determine how much
      better we can do on a given benchmark than the default
      scheduler. Certain compute intensive loops run much faster in this
      mode with the right set of heuristics, and it doesn't seem to have
      much negative impact elsewhere. Not all of the heuristics are needed,
      but we still need to experiment to decide which should be disabled by
      default for sched=list-ilp.
      
      llvm-svn: 127067
      641e2d4f
  6. Mar 02, 2011
  7. Feb 28, 2011
    • David Greene's avatar
      · 20a1cbef
      David Greene authored
      [AVX] Add decode support for VUNPCKLPS/D instructions, both 128-bit
            and 256-bit forms.  Because the number of elements in a vector
            does not determine the vector type (4 elements could be v4f32 or
            v4f64), pass the full type of the vector to decode routines.
      
      llvm-svn: 126664
      20a1cbef
  8. Feb 25, 2011
  9. Feb 24, 2011
  10. Feb 23, 2011
    • David Greene's avatar
      · 9a6040dc
      David Greene authored
      [AVX] General VUNPCKL codegen support.
      
      llvm-svn: 126264
      9a6040dc
  11. Feb 22, 2011
    • Devang Patel's avatar
      Revert r124611 - "Keep track of incoming argument's location while emitting LiveIns." · f3292b21
      Devang Patel authored
      In other words, do not keep track of argument's location.  The debugger (gdb) is not prepared to see line table entries for arguments. For the debugger, "second" line table entry marks beginning of function body.
      This requires some coordination with debugger to get this working. 
       - The debugger needs to be aware of prolog_end attribute attached with line table entries.
       - The compiler needs to accurately mark prolog_end in line table entries (at -O0 and at -O1+)
      
      llvm-svn: 126155
      f3292b21
  12. Feb 20, 2011
  13. Feb 19, 2011
  14. Feb 17, 2011
    • David Greene's avatar
      · 3a2b508e
      David Greene authored
      [AVX] Recorganize X86ShuffleDecode into its own library
      (LLVMX86Utils.a) to break cyclic library dependencies between
      LLVMX86CodeGen.a and LLVMX86AsmParser.a.  Previously this code was in
      a header file and marked static but AVX requires some additional
      functionality here that won't be used by all clients.  Since including
      unused static functions causes a gcc compiler warning, keeping it as a
      header would break builds that use -Werror.  Putting this in its own
      library solves both problems at once.
      
      llvm-svn: 125765
      3a2b508e
  15. Feb 16, 2011
  16. Feb 13, 2011
    • Chris Lattner's avatar
      Enhance ComputeMaskedBits to know that aligned frameindexes · 46c01a30
      Chris Lattner authored
      have their low bits set to zero.  This allows us to optimize
      out explicit stack alignment code like in stack-align.ll:test4 when
      it is redundant.
      
      Doing this causes the code generator to start turning FI+cst into
      FI|cst all over the place, which is general goodness (that is the
      canonical form) except that various pieces of the code generator
      don't handle OR aggressively.  Fix this by introducing a new
      SelectionDAG::isBaseWithConstantOffset predicate, and using it
      in places that are looking for ADD(X,CST).  The ARM backend in
      particular was missing a lot of addressing mode folding opportunities
      around OR.
      
      llvm-svn: 125470
      46c01a30
  17. Feb 11, 2011
    • David Greene's avatar
      · 79827a5a
      David Greene authored
      [AVX] Implement 256-bit vector lowering for SCALAR_TO_VECTOR.  This
      largely completes support for 128-bit fallback lowering for code that
      is not 256-bit ready.
      
      llvm-svn: 125315
      79827a5a
  18. Feb 10, 2011
    • David Greene's avatar
      · ce318e49
      David Greene authored
      [AVX] Implement 256-bit vector lowering for EXTRACT_VECTOR_ELT.
      
      llvm-svn: 125284
      ce318e49
  19. Feb 09, 2011
    • David Greene's avatar
      · b36195ab
      David Greene authored
      [AVX] Implement 256-bit vector lowering for INSERT_VECTOR_ELT.
      
      llvm-svn: 125187
      b36195ab
  20. Feb 08, 2011
    • David Greene's avatar
      · 10b0db1d
      David Greene authored
      [AVX] Implement BUILD_VECTOR lowering for 256-bit vectors.  For
      anything but the simplest of cases, lower a 256-bit BUILD_VECTOR by
      splitting it into 128-bit parts and recombining.
      
      llvm-svn: 125105
      10b0db1d
  21. Feb 07, 2011
    • David Greene's avatar
      · 79651c52
      David Greene authored
      [AVX] Insert/extract subvector lowering support.  This includes a
      couple of utility functions that will be used in other places for more
      AVX lowering.
      
      llvm-svn: 125029
      79651c52
  22. Feb 05, 2011
  23. Feb 04, 2011
    • David Greene's avatar
      · 653f1eed
      David Greene authored
      [AVX] Support VSINSERTF128 with more patterns and appropriate
      infrastructure.  This makes lowering 256-bit vectors to 128-bit
      vectors simple when 256-bit vector support is not available.
      
      llvm-svn: 124868
      653f1eed
  24. Feb 03, 2011
    • David Greene's avatar
      · c4da110f
      David Greene authored
      [AVX] VEXTRACTF128 support.  This commit includes patterns for
      matching EXTRACT_SUBVECTOR to VEXTRACTF128 along with support routines
      to examine and translate index values.  VINSERTF128 comes next.  With
      these two in place we can begin supporting more AVX operations as
      INSERT/EXTRACT can be used as a fallback when 256-bit support is not
      available.
      
      llvm-svn: 124797
      c4da110f
    • Rafael Espindola's avatar
      Fix PR9127 by reversing the operands even if they have more then one use. · d11311f2
      Rafael Espindola authored
      Reversing the operands allows us to fold, but doesn't force us to. Also, at
      this point the DAG is still being optimized, so the check for hasOneUse is not
      very precise.
      
      llvm-svn: 124773
      d11311f2
  25. Feb 01, 2011
  26. Jan 31, 2011
  27. Jan 27, 2011
    • David Greene's avatar
      · 34f7c0d8
      David Greene authored
      [AVX] Clean up the code to configure target lowering for AVX.  Specify
      how to lower more/new operations.  This is a prerequisite for adding
      additional AVX lowering.
      
      llvm-svn: 124447
      34f7c0d8
  28. Jan 26, 2011
    • David Greene's avatar
      · bab5e6ed
      David Greene authored
      [AVX] Add INSERT_SUBVECTOR and support it on x86.  This provides a
      default implementation for x86, going through the stack in a similr
      fashion to how the codegen implements BUILD_VECTOR.  Eventually this
      will get matched to VINSERTF128 if AVX is available.
      
      llvm-svn: 124307
      bab5e6ed
    • David Greene's avatar
      · b6f16119
      David Greene authored
      [AVX] Support EXTRACT_SUBVECTOR on x86.  This provides a default
      implementation of EXTRACT_SUBVECTOR for x86, going through the stack
      in a similr fashion to how the codegen implements BUILD_VECTOR.
      Eventually this will get matched to VEXTRACTF128 if AVX is available.
      
      llvm-svn: 124292
      b6f16119
    • NAKAMURA Takumi's avatar
      Target/X86: Tweak win64's tailcall. · 0cfdac07
      NAKAMURA Takumi authored
      llvm-svn: 124272
      0cfdac07
    • NAKAMURA Takumi's avatar
      Fix whitespace. · 9d29eff1
      NAKAMURA Takumi authored
      llvm-svn: 124270
      9d29eff1
  29. Jan 16, 2011
  30. Jan 10, 2011
Loading