- Oct 14, 2009
-
-
Chris Lattner authored
presence of PHI nodes. llvm-svn: 84103
-
Devang Patel authored
llvm-svn: 84049
-
- Oct 13, 2009
-
-
Devang Patel authored
Do not check use_empty() before replaceAllUsesWith(). This gives ValueHandles a chance to get properly updated. llvm-svn: 84033
-
Dan Gohman authored
manually counting instructions. llvm-svn: 84016
-
Dan Gohman authored
BasicBlocks, so that it doesn't blindly procede in the presence of large individual BasicBlocks. This addresses a class of code-size expansion problems. llvm-svn: 83992
-
Evan Cheng authored
llvm-svn: 83908
-
- Oct 12, 2009
-
-
Dale Johannesen authored
llvm-svn: 83870
-
Chris Lattner authored
it to visit instructions from the start of the function to the end of the function in the first path. This greatly speeds up some pathological cases (e.g. PR5150). Try #3, this time with some unneeded debug info stuff removed which was causing dead pointers to be added to the worklist. llvm-svn: 83818
-
Chris Lattner authored
llvm-svn: 83817
-
Chris Lattner authored
it to visit instructions from the start of the function to the end of the function in the first path. This greatly speeds up some pathological cases (e.g. PR5150). llvm-svn: 83814
-
Chris Lattner authored
into a shuffle even if it was used by another insertelement. If the visitation order of instcombine was wrong, this would turn a chain of insertelements into a chain of shufflevectors, which was quite painful. Since CollectShuffleElements handles these cases, the code can just be nuked. llvm-svn: 83810
-
Chris Lattner authored
new testcase. llvm-svn: 83799
-
Chris Lattner authored
llvm-svn: 83797
-
- Oct 11, 2009
-
-
Chris Lattner authored
llvm-svn: 83795
-
Chris Lattner authored
input the the mul is a zext from bool, just that it is all zeros other than the low bit. This fixes some phase ordering issues that would cause us to miss some xforms in mul.ll when the worklist is visited differently. llvm-svn: 83794
-
Chris Lattner authored
llvm-svn: 83792
-
Chris Lattner authored
llvm-svn: 83791
-
Chris Lattner authored
it to visit instructions from the start of the function to the end of the function in the first path. This greatly speeds up some pathological cases (e.g. PR5150). llvm-svn: 83790
-
Torok Edwin authored
here. llvm-svn: 83789
-
Torok Edwin authored
For now the metadata of sinked/hoisted instructions is still wrong, but that'll be fixed when instructions will have debug metadata directly attached. llvm-svn: 83786
-
Chris Lattner authored
now-probably-dead instruction tree feeding it. llvm-svn: 83778
-
rdar://7293527Chris Lattner authored
gets but clang doesn't, because it is implemented in GCC's fold routine. llvm-svn: 83761
-
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
-
Chris Lattner authored
from GVN, this also speeds it up, inserts fewer PHI nodes (see the testcase) and allows it to remove more loads (due to fewer PHI nodes standing in the way). llvm-svn: 83746
-
Chris Lattner authored
llvm-svn: 83742
-
- 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
-
Chris Lattner authored
llvm-svn: 83701
-
- Oct 08, 2009
-
-
Dan Gohman authored
to declare that they preserve other passes without needing to pull in additional header file or library dependencies. Convert MachineFunctionPass and CodeGenLICM to make use of this. llvm-svn: 83555
-
Jeffrey Yasskin authored
already on the worklist, and print Visited when an instruction is about to be visited. Net, on one input, this reduced the output size by at least 9x. llvm-svn: 83510
-
- Oct 07, 2009
-
-
Eric Christopher authored
llvm-svn: 83489
-
- Oct 06, 2009
-
-
Ted Kremenek authored
llvm-svn: 83404
-
Chris Lattner authored
out of it, and jump threading, condprop and gvn are now getting most of the benefit. This was approved by Nicholas and Nicolas. llvm-svn: 83390
-
Duncan Sands authored
where the element is of a basic builtin type. For example, to get an i8* use getInt8PtrTy. llvm-svn: 83379
-
- Oct 05, 2009
-
-
Dan Gohman authored
ConstantFoldLoadThroughGEPConstantExpr. llvm-svn: 83311
-
Dan Gohman authored
llvm-svn: 83310
-
Chris Lattner authored
the new predicates I added) instead of going through a context and doing a pointer comparison. Besides being cheaper, this allows a smart compiler to turn the if sequence into a switch. llvm-svn: 83297
-
Chris Lattner authored
This fixes PR5130. llvm-svn: 83290
-