Skip to content
  1. Jul 17, 2008
  2. Jul 16, 2008
  3. Jul 15, 2008
  4. Jul 11, 2008
  5. Jul 03, 2008
  6. Jul 02, 2008
  7. Jun 23, 2008
  8. Jun 21, 2008
  9. Jun 20, 2008
  10. Jun 19, 2008
  11. Jun 18, 2008
  12. Jun 12, 2008
  13. Jun 05, 2008
  14. Jun 04, 2008
  15. May 18, 2008
  16. May 14, 2008
  17. May 13, 2008
  18. May 12, 2008
  19. Apr 21, 2008
  20. Apr 17, 2008
  21. Apr 11, 2008
  22. Apr 09, 2008
  23. Apr 07, 2008
  24. Apr 06, 2008
  25. Mar 29, 2008
    • Chris Lattner's avatar
      change iterator invalidation avoidance to just move the iterator backward · 4311ad2d
      Chris Lattner authored
      when something changes, instead of moving forward.  This allows us to 
      simplify memset lowering, inserting the memset at the end of the range of 
      stuff we're touching instead of at the start.
      
      This, in turn, allows us to make use of the addressing instructions already
      used in the function instead of inserting our own.  For example, we now
      codegen:
      
      	%tmp41 = getelementptr [8 x i8]* %ref_idx, i32 0, i32 0		; <i8*> [#uses=2]
      	call void @llvm.memset.i64( i8* %tmp41, i8 -1, i64 8, i32 1 )
      
      instead of:
      
      	%tmp20 = getelementptr [8 x i8]* %ref_idx, i32 0, i32 7		; <i8*> [#uses=1]
      	%ptroffset = getelementptr i8* %tmp20, i64 -7		; <i8*> [#uses=1]
      	call void @llvm.memset.i64( i8* %ptroffset, i8 -1, i64 8, i32 1 )
      
      llvm-svn: 48940
      4311ad2d
Loading