- Nov 10, 2009
-
-
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
-
Chris Lattner authored
llvm-svn: 83755
-
Chris Lattner authored
llvm-svn: 83754
-
- Oct 10, 2009
-
-
Chris Lattner authored
DemoteRegToStack. This makes it more efficient (because it isn't creating a ton of load/stores that are eventually removed by a later mem2reg), and more slightly more effective (because those load/stores don't get in the way of threading). llvm-svn: 83706
-
- Sep 27, 2009
-
-
Nick Lewycky authored
update all the callers. llvm-svn: 82889
-
- Sep 02, 2009
-
-
Chris Lattner authored
llvm-svn: 80766
-
- Aug 13, 2009
-
-
Owen Anderson authored
llvm-svn: 78948
-
- Jul 31, 2009
-
-
Owen Anderson authored
llvm-svn: 77685
-
Owen Anderson authored
llvm-svn: 77635
-
- Jul 29, 2009
-
-
Owen Anderson authored
llvm-svn: 77494
-
- Jul 26, 2009
-
-
Daniel Dunbar authored
llvm-svn: 77152
-
Daniel Dunbar authored
llvm-svn: 77145
-
- Jul 25, 2009
-
-
Owen Anderson authored
Revert the ConstantInt constructors back to their 2.5 forms where possible, thanks to contexts-on-types. More to come. llvm-svn: 77011
-
- Jul 24, 2009
-
-
Dan Gohman authored
instead of getAnalysis<TargetData>(). llvm-svn: 76982
-
- Jul 22, 2009
-
-
Owen Anderson authored
llvm-svn: 76702
-
- Jul 21, 2009
-
-
Owen Anderson authored
llvm-svn: 76598
-