Skip to content
  1. Aug 26, 2010
    • Devang Patel's avatar
      Fix prototypes. · 7b888fbd
      Devang Patel authored
      llvm-svn: 112200
      7b888fbd
    • Dan Gohman's avatar
      Reapply r112091 and r111922, support for metadata linking, with a · ca26f790
      Dan Gohman authored
      fix: add a flag to MapValue and friends which indicates whether
      any module-level mappings are being made. In the common case of
      inlining, no module-level mappings are needed, so MapValue doesn't
      need to examine non-function-local metadata, which can be very
      expensive in the case of a large module with really deep metadata
      (e.g. a large C++ program compiled with -g).
      
      This flag is a little awkward; perhaps eventually it can be moved
      into the ClonedCodeInfo class.
      
      llvm-svn: 112190
      ca26f790
    • John McCall's avatar
      SmallVector's growth policies don't like starting from zero capacity. · c13b797e
      John McCall authored
      I think there are good reasons to change this, but in the interests
      of short-term stability, make SmallVector<...,0> reserve non-zero
      capacity in its constructors.  This means that SmallVector<...,0>
      uses more memory than SmallVector<...,1> and should really only be
      used (unless/until this workaround is removed) by clients that
      care about using SmallVector with an incomplete type.
      
      llvm-svn: 112147
      c13b797e
    • Dan Gohman's avatar
      Rewrite ExtractGV, removing a bunch of stuff that didn't fully work, · 8f292e7a
      Dan Gohman authored
      and was over-complicated, and replacing it with a simple implementation.
      
      llvm-svn: 112120
      8f292e7a
    • John McCall's avatar
      Provide an explicit specialization of SmallVector at N=0 which does · c5e7e703
      John McCall authored
      not require its type argument to be complete if no members are
      actually used.
      
      llvm-svn: 112106
      c5e7e703
    • Chris Lattner's avatar
      add a specialization for the MVT form of getTypeAction, since it is · 2e8466c5
      Chris Lattner authored
      trivial.
      
      llvm-svn: 112105
      2e8466c5
    • Chris Lattner's avatar
      8df99b52
    • Chris Lattner's avatar
      Change handling of illegal vector types to widen when possible instead of · 75ff0534
      Chris Lattner authored
      expanding: e.g. <2 x float> -> <4 x float> instead of -> 2 floats.  This
      affects two places in the code: handling cross block values and handling
      function return and arguments.  Since vectors are already widened by 
      legalizetypes, this gives us much better code and unblocks x86-64 abi
      and SPU abi work.
      
      For example, this (which is a silly example of a cross-block value):
      define <4 x float> @test2(<4 x float> %A) nounwind {
       %B = shufflevector <4 x float> %A, <4 x float> undef, <2 x i32> <i32 0, i32 1>
       %C = fadd <2 x float> %B, %B
        br label %BB
      BB:
       %D = fadd <2 x float> %C, %C
       %E = shufflevector <2 x float> %D, <2 x float> undef, <4 x i32> <i32 0, i32 1, i32 undef, i32 undef>
       ret <4 x float> %E
      }
      
      Now compiles into:
      
      _test2:                                 ## @test2
      ## BB#0:
       addps %xmm0, %xmm0
       addps %xmm0, %xmm0
       ret
      
      previously it compiled into:
      
      _test2:                                 ## @test2
      ## BB#0:
       addps %xmm0, %xmm0
       pshufd $1, %xmm0, %xmm1
                                              ## kill: XMM0<def> XMM0<kill> XMM0<def>
       insertps $0, %xmm0, %xmm0
       insertps $16, %xmm1, %xmm0
       addps %xmm0, %xmm0
       ret
      
      This implements rdar://8230384
      
      llvm-svn: 112101
      75ff0534
    • Chris Lattner's avatar
      tidy up · dffc3842
      Chris Lattner authored
      llvm-svn: 112099
      dffc3842
  2. Aug 25, 2010
  3. Aug 24, 2010
  4. Aug 23, 2010
  5. Aug 21, 2010
  6. Aug 20, 2010
Loading