- Jun 30, 2005
-
-
Chris Lattner authored
The optimization for locally used allocas was not safe for allocas that were read before they were written. This change disables that optimization in that case. llvm-svn: 22318
-
- Jun 19, 2005
-
-
Andrew Lenharth authored
llvm-svn: 22263
-
- Jun 17, 2005
-
-
Chris Lattner authored
This fixes PR584 and Transforms/SimplifyCFG/2005-06-16-PHICrash.ll llvm-svn: 22232
-
- May 21, 2005
-
-
Chris Lattner authored
llvm-svn: 22158
-
- May 14, 2005
-
-
Chris Lattner authored
a call. This fixes Prolangs-C++/deriv2, kimwitu++, and Misc-C++/bigfib on X86 with -enable-x86-fastcc. llvm-svn: 22023
-
- May 09, 2005
-
-
Chris Lattner authored
turning calls into invokes llvm-svn: 21797
-
- May 06, 2005
-
-
Chris Lattner authored
not change code after testing it without retesting! llvm-svn: 21741
-
Chris Lattner authored
llvm-svn: 21736
-
Chris Lattner authored
llvm-svn: 21719
-
- Apr 29, 2005
-
-
Reid Spencer authored
are moved to simplify-libcalls pass. llvm-svn: 21614
-
Reid Spencer authored
sinh, cosh, etc. * Make the name comparisons for the fp libcalls a little more efficient by switching on the first character of the name before doing comparisons. llvm-svn: 21611
-
- Apr 23, 2005
-
-
Jeff Cohen authored
llvm-svn: 21480
-
- Apr 22, 2005
-
-
Misha Brukman authored
llvm-svn: 21427
-
- Apr 21, 2005
-
-
Chris Lattner authored
llvm-svn: 21393
-
Chris Lattner authored
convert this: %tmp.1 = seteq int %i, 0 ; <bool> [#uses=1] br bool %tmp.1, label %shortcirc_done, label %shortcirc_next shortcirc_next: ; preds = %entry %tmp.4 = seteq int %j, 0 ; <bool> [#uses=1] br label %shortcirc_done shortcirc_done: ; preds = %shortcirc_next, %entry %shortcirc_val = phi bool [ %tmp.4, %shortcirc_next ], [ true, %entry ] ; <bool> [#uses=1] to this: %tmp.1 = seteq int %i, 0 ; <bool> [#uses=1] %tmp.4 = seteq int %j, 0 ; <bool> [#uses=1] %shortcirc_val = select bool %tmp.1, bool true, bool %tmp.4 ; <bool> [#uses=1] ... which is later simplified by instcombine into an or. llvm-svn: 21388
-
- Apr 12, 2005
-
-
Chris Lattner authored
llvm-svn: 21253
-
- Mar 17, 2005
-
-
Chris Lattner authored
Bill Wendling!! llvm-svn: 20649
-
- Mar 15, 2005
-
-
Chris Lattner authored
using Function::arg_{iterator|begin|end}. Likewise Module::g* -> Module::global_*. This patch is contributed by Gabor Greif, thanks! llvm-svn: 20597
-
- Mar 05, 2005
-
-
Chris Lattner authored
llvm-svn: 20463
-
- Feb 27, 2005
-
-
Chris Lattner authored
llvm-svn: 20343
-
- Feb 26, 2005
-
-
Chris Lattner authored
llvm-svn: 20334
-
- Feb 24, 2005
-
-
Chris Lattner authored
This does a simple form of "jump threading", which eliminates CFG edges that are provably dead. This triggers 90 times in the external tests, and eliminating CFG edges is always always a good thing! :) llvm-svn: 20300
-
- Jan 29, 2005
-
-
Chris Lattner authored
llvm-svn: 19898
-
- Jan 01, 2005
-
-
Chris Lattner authored
SimplifyCFG is one of those passes that we use for final cleanup: it should not rely on other passes to clean up its garbage. This fixes the "why are trivially dead setcc's in the output of gccas" problem. llvm-svn: 19212
-
- Dec 11, 2004
-
-
Chris Lattner authored
llvm-svn: 18799
-
- Dec 10, 2004
-
-
Chris Lattner authored
and the failure on make_dparser last night. llvm-svn: 18766
-
- Nov 30, 2004
-
-
Chris Lattner authored
llvm-svn: 18381
-
Chris Lattner authored
This only fails on darwin or on X86 under valgrind. llvm-svn: 18377
-
Chris Lattner authored
llvm-svn: 18369
-
Chris Lattner authored
if (x) { code ... } else { code ... } Turn it into: code if (x) { ... } else { ... } This reduces code size and in some common cases allows us to completely eliminate the conditional. This turns several if/then/else blocks in loops into straightline code in 179.art, turning the loops into single basic blocks (good for modsched even!). Maybe now brg will leave me alone ;-) llvm-svn: 18366
-
- Nov 20, 2004
-
-
Misha Brukman authored
llvm-svn: 18028
-
- Nov 13, 2004
-
-
Chris Lattner authored
llvm-svn: 17699
-
Chris Lattner authored
instructions, setting DefBlock to a block it did not have dom info for. llvm-svn: 17697
-
- Nov 01, 2004
-
-
Chris Lattner authored
This speeds up simplifycfg on this program, from 44.87s to 0.29s (with a profiled build): #define CL0(a) case a: goto c; #define CL1(a) CL0(a##0) CL0(a##1) CL0(a##2) CL0(a##3) CL0(a##4) CL0(a##5) \ CL0(a##6) CL0(a##7) CL0(a##8) CL0(a##9) #define CL2(a) CL1(a##0) CL1(a##1) CL1(a##2) CL1(a##3) CL1(a##4) CL1(a##5) \ CL1(a##6) CL1(a##7) CL1(a##8) CL1(a##9) #define CL3(a) CL2(a##0) CL2(a##1) CL2(a##2) CL2(a##3) CL2(a##4) CL2(a##5) \ CL2(a##6) CL2(a##7) CL2(a##8) CL2(a##9) #define CL4(a) CL3(a##0) CL3(a##1) CL3(a##2) CL3(a##3) CL3(a##4) CL3(a##5) \ CL3(a##6) CL3(a##7) CL3(a##8) CL3(a##9) void f(); void a() { int b; c: switch (b) { CL4(1) } } This testcase is contrived to expose N^2 behavior, but this patch should speedup simplifycfg on any programs that use large switch statements. This testcase comes from GCC PR17895. llvm-svn: 17389
-
- Oct 28, 2004
-
-
Reid Spencer authored
llvm-svn: 17286
-
- Oct 22, 2004
-
-
Reid Spencer authored
llvm-svn: 17163
-
Reid Spencer authored
llvm-svn: 17155
-
- Oct 19, 2004
-
-
Reid Spencer authored
llvm-svn: 17136
-
- Oct 18, 2004
-
-
Reid Spencer authored
Patch contributed by Morten Ofstad. Thanks Morten! llvm-svn: 17123
-
Chris Lattner authored
Simplify code by simplifying terminators that branch to blocks that start with an unreachable instruction. llvm-svn: 17116
-