- May 19, 2007
-
-
Chris Lattner authored
into: _t: movl 8(%esp), %ecx movl 4(%esp), %eax cmpl %ecx, %eax je LBB1_3 #bb17 LBB1_1: #bb cmpl %ecx, %eax jg LBB1_4 #cond_true LBB1_2: #cond_false subl %eax, %ecx cmpl %ecx, %eax jne LBB1_1 #bb LBB1_3: #bb17 ret LBB1_4: #cond_true subl %ecx, %eax cmpl %ecx, %eax jne LBB1_1 #bb jmp LBB1_3 #bb17 instead of: _t: subl $4, %esp movl %esi, (%esp) movl 12(%esp), %ecx movl 8(%esp), %eax cmpl %ecx, %eax je LBB1_4 #bb17 LBB1_1: #bb.outer movl %ecx, %edx negl %edx LBB1_2: #bb cmpl %ecx, %eax jle LBB1_5 #cond_false LBB1_3: #cond_true addl %edx, %eax cmpl %ecx, %eax jne LBB1_2 #bb LBB1_4: #bb17 movl (%esp), %esi addl $4, %esp ret LBB1_5: #cond_false movl %ecx, %edx subl %eax, %edx movl %eax, %esi addl %esi, %esi cmpl %ecx, %esi je LBB1_4 #bb17 LBB1_6: #cond_false.bb.outer_crit_edge movl %edx, %ecx jmp LBB1_1 #bb.outer llvm-svn: 37252
-
- May 18, 2007
-
-
Devang Patel authored
Test case at Transformations/SCCP/2007-05-16-InvokeCrash.ll llvm-svn: 37185
-
- May 15, 2007
-
-
Chris Lattner authored
llvm-svn: 37057
-
- May 14, 2007
-
-
Dan Gohman authored
llvm-svn: 37034
-
- May 12, 2007
-
-
Chris Lattner authored
llvm-svn: 36996
-
- May 11, 2007
-
-
Dan Gohman authored
llvm-svn: 36994
-
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
-
Chris Lattner authored
Transforms/InstCombine/2006-12-08-ICmp-Combining.ll llvm-svn: 36989
-
Chris Lattner authored
llvm-svn: 36984
-
- May 09, 2007
- May 08, 2007
-
-
Dan Gohman authored
llvm-svn: 36936
-
Dan Gohman authored
llvm-svn: 36935
-
Dale Johannesen authored
llvm-svn: 36917
-
- May 06, 2007
-
-
Nick Lewycky authored
llvm-svn: 36873
-
Chris Lattner authored
llvm-svn: 36857
-
Chris Lattner authored
llvm-svn: 36809
-
Chris Lattner authored
llvm-svn: 36807
-
- May 05, 2007
-
-
Chris Lattner authored
If we have a LCSSA, only modify the input value if the inval was defined by an instruction in the loop. If defined by something before the loop, it is still valid. llvm-svn: 36784
-
Chris Lattner authored
llvm-svn: 36782
-
Chris Lattner authored
llvm-svn: 36775
-
- May 04, 2007
-
-
Dan Gohman authored
slightly nicer than using CallInst with an extra check; thanks Chris. llvm-svn: 36743
-
Dan Gohman authored
address operand in a prefetch intrinsic. llvm-svn: 36713
-
- May 03, 2007
-
-
Devang Patel authored
llvm-svn: 36662
-
- May 02, 2007
-
-
Devang Patel authored
Due to darwin gcc bug, one version of darwin linker coalesces static const int, which defauts PassID based pass identification. llvm-svn: 36652
-
- May 01, 2007
-
-
Devang Patel authored
llvm-svn: 36632
-
- Apr 28, 2007
-
-
Chris Lattner authored
llvm-svn: 36527
-
Chris Lattner authored
previous clients. This fixes MallocBench/gs llvm-svn: 36525
-
Chris Lattner authored
llvm-svn: 36523
-
Chris Lattner authored
llvm-svn: 36521
-
- Apr 27, 2007
-
-
Chris Lattner authored
for unrelated casts. llvm-svn: 36511
-
- Apr 26, 2007
-
-
Zhou Sheng authored
llvm-svn: 36475
-
- Apr 25, 2007
-
-
Devang Patel authored
llvm-svn: 36444
-
Devang Patel authored
llvm-svn: 36441
-
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
-
Chris Lattner authored
llvm-svn: 36426
-
Owen Anderson authored
this approach is no longer appropriate. llvm-svn: 36421
-
Devang Patel authored
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070423/048376.html llvm-svn: 36417
-
- Apr 24, 2007
-
-
Owen Anderson authored
my approach to this, so hopefully I'll find a way to do this without making this slower. llvm-svn: 36392
-
Devang Patel authored
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070423/048333.html llvm-svn: 36380
-
- Apr 21, 2007
-
-
Owen Anderson authored
llvm-svn: 36300
-