Skip to content
  1. Mar 14, 2011
  2. Mar 11, 2011
  3. Mar 10, 2011
  4. Mar 09, 2011
  5. Mar 08, 2011
  6. Mar 07, 2011
  7. Mar 05, 2011
  8. Mar 03, 2011
  9. Mar 02, 2011
  10. Mar 01, 2011
  11. Feb 28, 2011
  12. Feb 24, 2011
  13. Feb 22, 2011
  14. Feb 21, 2011
  15. Feb 19, 2011
    • Chris Lattner's avatar
      rewrite the memset_pattern pattern generation stuff to accept any 2/4/8/16-byte · 72a35fb9
      Chris Lattner authored
      constant, including globals.  This makes us generate much more "pretty" pattern
      globals as well because it doesn't break it down to an array of bytes all the
      time.
      
      This enables us to handle stores of relocatable globals.  This kicks in about
      48 times in 254.gap, giving us stuff like this:
      
      @.memset_pattern40 = internal constant [2 x %struct.TypHeader* (%struct.TypHeader*, %struct.TypHeader*)*] [%struct.TypHeader* (%struct.TypHeader*, %struct
      .TypHeader*)* @IsFalse, %struct.TypHeader* (%struct.TypHeader*, %struct.TypHeader*)* @IsFalse], align 16
      
      ...
        call void @memset_pattern16(i8* %scevgep5859, i8* bitcast ([2 x %struct.TypHeader* (%struct.TypHeader*, %struct.TypHeader*)*]* @.memset_pattern40 to i8*
      ), i64 %tmp75) nounwind
      
      llvm-svn: 126044
      72a35fb9
    • Chris Lattner's avatar
      Implement rdar://9009151, transforming strided loop stores of · 0f4a6401
      Chris Lattner authored
      unsplatable values into memset_pattern16 when it is available
      (recent darwins).  This transforms lots of strided loop stores
      of ints for example, like 5 in vpr:
      
        Formed memset:   call void @memset_pattern16(i8* %4, i8* getelementptr inbounds ([16 x i8]* @.memset_pattern9, i32 0, i32 0), i64 %tmp25)
          from store to: {%3,+,4}<%11> at:   store i32 3, i32* %scevgep, align 4, !tbaa !4
      
      llvm-svn: 126040
      0f4a6401
  16. Feb 18, 2011
  17. Feb 17, 2011
  18. Feb 15, 2011
  19. Feb 14, 2011
  20. Feb 12, 2011
Loading