- Dec 28, 2009
-
-
Chris Lattner authored
llvm-svn: 92211
-
- Dec 06, 2009
-
-
Chris Lattner authored
llvm-svn: 90708
-
- Dec 01, 2009
-
-
Chris Lattner authored
precisely, which prevents us from infinitely peeling the loop. llvm-svn: 90211
-
- Nov 15, 2009
-
-
Chris Lattner authored
llvm-svn: 88865
-
Chris Lattner authored
llvm-svn: 88864
-
- Nov 12, 2009
-
-
Chris Lattner authored
which implements GCC PR18046. This also gets us 360 more jump threads on 176.gcc. llvm-svn: 86953
-
Chris Lattner authored
llvm-svn: 86952
-
Chris Lattner authored
making the new LVI stuff smart enough to subsume some special cases in the old code. Disable them when LVI is around, the testcase still passes. llvm-svn: 86951
-
Chris Lattner authored
allows us to handle the test10 testcase. llvm-svn: 86924
-
Chris Lattner authored
llvm-svn: 86923
-
Chris Lattner authored
llvm-svn: 86920
-
- Nov 11, 2009
-
-
Chris Lattner authored
uses LVI info when -enable-jump-threading-lvi is passed. llvm-svn: 86886
-
Chris Lattner authored
start using them in a trivial way when -enable-jump-threading-lvi is passed. enable-jump-threading-lvi will be my playground for awhile. llvm-svn: 86789
-
Chris Lattner authored
llvm-svn: 86766
-
- Nov 10, 2009
-
-
Chris Lattner authored
llvm-svn: 86739
-
Chris Lattner authored
into libanalysis and transformutils. llvm-svn: 86735
-
Chris Lattner authored
llvm-svn: 86723
-
Chris Lattner authored
debug intrinsics, and an unconditional branch when possible. This reuses the TryToSimplifyUncondBranchFromEmptyBlock function split out of simplifycfg. llvm-svn: 86722
-
Chris Lattner authored
just one level deep. On the testcase we go from getting this: F1: ; preds = %T2 %F = and i1 true, %cond ; <i1> [#uses=1] br i1 %F, label %X, label %Y to a fully threaded: F1: ; preds = %T2 br label %Y This changes gets us to the point where we're forming (too many) switch instructions on doug's strswitch testcase. llvm-svn: 86646
-
Chris Lattner authored
llvm-svn: 86639
-
Chris Lattner authored
except that the result may not be a constant. Switch jump threading to use it so that it gets things like (X & 0) -> 0, which occur when phi preds are deleted and the remaining phi pred was a zero. llvm-svn: 86637
-
Chris Lattner authored
Simplify[IF]Cmp pieces. Add some predicates to CmpInst to determine whether a predicate is fp or int. llvm-svn: 86624
-
Chris Lattner authored
llvm-svn: 86616
-
- Nov 09, 2009
-
-
Chris Lattner authored
simplifies instruction users of PHIs when the phi is eliminated. This will be moved to transforms/utils after some other refactoring. llvm-svn: 86603
-
Chris Lattner authored
llvm-svn: 86497
-
- Nov 07, 2009
-
-
Chris Lattner authored
(making pred factoring only happen if threading is guaranteed to be successful). This now survives an X86-64 bootstrap of llvm-gcc. llvm-svn: 86355
-
Devang Patel authored
86289, 86278, 86270, 86267, 86266 & 86264 Chris, please take a look. llvm-svn: 86321
-
Jeffrey Yasskin authored
llvm-svn: 86314
-
Chris Lattner authored
set only once even if it has multiple edges to BB. llvm-svn: 86299
-
- Nov 06, 2009
-
-
Eli Friedman authored
llvm-svn: 86289
-
Chris Lattner authored
llvm-svn: 86278
-
Chris Lattner authored
llvm-svn: 86270
-
Chris Lattner authored
llvm-svn: 86267
-
Chris Lattner authored
llvm-svn: 86266
-
Chris Lattner authored
predicates. This allows us to jump thread things like: _ZN12StringSwitchI5ColorE4CaseILj7EEERS1_RAT__KcRKS0_.exit119: %tmp1.i24166 = phi i8 [ 1, %bb5.i117 ], [ %tmp1.i24165, %_Z....exit ], [ %tmp1.i24165, %bb4.i114 ] %toBoolnot.i87 = icmp eq i8 %tmp1.i24166, 0 ; <i1> [#uses=1] %tmp4.i90 = icmp eq i32 %tmp2.i, 6 ; <i1> [#uses=1] %or.cond173 = and i1 %toBoolnot.i87, %tmp4.i90 ; <i1> [#uses=1] br i1 %or.cond173, label %bb4.i96, label %_ZN12... Where it is "obvious" that when coming from %bb5.i117 that the 'and' is always false. This triggers a surprisingly high number of times in the testsuite, and gets us closer to generating good code for doug's strswitch testcase. This also make a bunch of other code in jump threading redundant, I'll rip out in the next patch. This survived an enable-checking llvm-gcc bootstrap. llvm-svn: 86264
-
Chris Lattner authored
from various APIs, addressing PR5325. llvm-svn: 86231
-
- Nov 05, 2009
-
-
Chris Lattner authored
Hans Wennborg! llvm-svn: 86067
-
- Oct 11, 2009
-
-
Chris Lattner authored
now-probably-dead instruction tree feeding it. llvm-svn: 83778
-
Chris Lattner authored
done by condprop, but do it in a much more general form. The basic idea is that we can do a limited form of tail duplication in the case when we have a branch on a phi. Moving the branch up in to the predecessor block makes instruction selection much easier and encourages chained jump threadings. llvm-svn: 83759
-
Chris Lattner authored
llvm-svn: 83756
-