Skip to content
  1. May 15, 2007
  2. May 14, 2007
  3. May 13, 2007
  4. May 12, 2007
  5. May 11, 2007
    • Dan Gohman's avatar
      Fix typos. · b5650ebd
      Dan Gohman authored
      llvm-svn: 36994
      b5650ebd
    • Dan Gohman's avatar
      This patch extends the LoopUnroll pass to be able to unroll loops · 2980d9da
      Dan Gohman authored
      with unknown trip counts. This is left off by default, and a
      command-line option enables it. It also begins to separate loop
      unrolling into a utility routine; eventually it might be made usable
      from other passes.
      
      It currently works by inserting conditional branches between each
      unrolled iteration, unless it proves that the trip count is a
      multiple of a constant integer > 1, which it currently only does in
      the rare case that the trip count expression is a Mul operator with
      a ConstantInt operand. Eventually this information might be provided
      by other sources, for example by a pass that peels/splits the loop
      for this purpose.
      
      llvm-svn: 36990
      2980d9da
    • Chris Lattner's avatar
      fix regressions from my previous checking, including · 600db3eb
      Chris Lattner authored
      Transforms/InstCombine/2006-12-08-ICmp-Combining.ll
      
      llvm-svn: 36989
      600db3eb
    • Chris Lattner's avatar
      fix Transforms/InstCombine/2007-05-10-icmp-or.ll · fe2b44de
      Chris Lattner authored
      llvm-svn: 36984
      fe2b44de
  6. May 09, 2007
  7. May 08, 2007
  8. May 07, 2007
  9. May 06, 2007
  10. May 05, 2007
  11. May 04, 2007
  12. May 03, 2007
  13. May 02, 2007
  14. May 01, 2007
  15. Apr 29, 2007
  16. Apr 28, 2007
  17. Apr 27, 2007
  18. Apr 26, 2007
  19. Apr 25, 2007
    • Devang Patel's avatar
      Mem2Reg does not need TargetData. · d3ccc073
      Devang Patel authored
      llvm-svn: 36444
      d3ccc073
    • Devang Patel's avatar
      Remove unused function argument. · 073be55d
      Devang Patel authored
      llvm-svn: 36441
      073be55d
    • Anton Korobeynikov's avatar
      Implement aliases. This fixes PR1017 and it's dependent bugs. CFE part · a97b694c
      Anton Korobeynikov authored
      will follow.
      
      llvm-svn: 36435
      a97b694c
    • Chris Lattner's avatar
      If an alloca only has two types of uses: 1) reads 2) a memcpy/memmove that · 827cb98a
      Chris Lattner authored
      copies from a constant global, then we can change the reads to read from the
      global instead of from the alloca.  This eliminates the alloca and the memcpy,
      and promotes secondary optimizations (because the loads are now loads from
      a constant global).
      
      This is important for a common C idiom:
      
      void foo() {
         int A[] = {1,2,3,4,5,6,7,8,9...};
         ... only reads of A ...
      }
      
      For some reason, people forget to mark the array static or const.
      
      This triggers on these multisource benchmarks:
      JM/ldecode: block_pos, [3 x [4 x [4 x i32]]]
      FreeBench/mason: m, [18 x i32], inlined 4 times
      MiBench/office-stringsearch: search_strings, [1332 x i8*]
      MiBench/office-stringsearch: find_strings, [1333 x i8*]
      Prolangs-C++/city: dirs, [9 x i8*], inlined 4 places
      
      and these spec benchmarks:
      177.mesa: message, [8 x [32 x i8]]
      186.crafty: bias_rl45, [64 x i32]
      186.crafty: diag_sq, [64 x i32]
      186.crafty: empty, [9 x i8]
      186.crafty: xlate, [15 x i8]
      186.crafty: status, [13 x i8]
      186.crafty: bdinfo, [25 x i8]
      445.gobmk: routines, [16 x i8*]
      458.sjeng: piece_rep, [14 x i8*]
      458.sjeng: t, [13 x i32], inlined 4 places.
      464.h264ref: block8x8_idx, [3 x [4 x [4 x i32]]]
      464.h264ref: block_pos, [3 x [4 x [4 x i32]]]
      464.h264ref: j_off_tab, [12 x i32]
      
      This implements Transforms/ScalarRepl/memcpy-from-global.ll
      
      llvm-svn: 36429
      827cb98a
    • Chris Lattner's avatar
      31e5addb
Loading