- Jan 02, 2011
-
-
Chris Lattner authored
header for now for memset/memcpy opportunities. It turns out that loop-rotate is successfully rotating loops, but *DOESN'T MERGE THE BLOCKS*, turning "for loops" into 2 basic block loops that loop-idiom was ignoring. With this fix, we form many *many* more memcpy and memsets than before, including on the "history" loops in the viterbi benchmark, which look like this: for (j=0; j<MAX_history; ++j) { history_new[i][j+1] = history[2*i][j]; } Transforming these loops into memcpy's speeds up the viterbi benchmark from 11.98s to 3.55s on my machine. Woo. llvm-svn: 122685
-
Chris Lattner authored
llvm-svn: 122683
-
Chris Lattner authored
llvm-svn: 122682
-
Chris Lattner authored
size of a loop header instead of its own code size estimator. This allows it to handle bitcasts etc more precisely. llvm-svn: 122681
-
Chris Lattner authored
llvm-svn: 122678
-
Nick Lewycky authored
maintains the guarantee that the DenseSet expects two elements it contains to not go from inequal to equal under its nose. As a side-effect, this also lets us switch from iterating to a fixed-point to actually maintaining a work queue of functions to look at again, and we don't add thunks to our work queue so we don't need to detect and ignore them. llvm-svn: 122677
-
- Jan 01, 2011
-
-
Chris Lattner authored
llvm-svn: 122676
-
Chris Lattner authored
llvm-svn: 122675
-
Chris Lattner authored
loop idiom pass exposed. llvm-svn: 122674
-
Rafael Espindola authored
llvm-svn: 122667
-
Anton Korobeynikov authored
earlyclobber stuff. This should fix PRs 2313 and 8157. Unfortunately, no testcase, since it'd be dependent on register assignments. llvm-svn: 122663
-
Chris Lattner authored
new testcase. llvm-svn: 122662
-
Duncan Sands authored
is the wrong hammer for this nail, and is probably right. llvm-svn: 122661
-
Chris Lattner authored
aggressively. In practice, this doesn't help anything though, see the todo. llvm-svn: 122660
-
Chris Lattner authored
should be correct now. llvm-svn: 122659
-
Rafael Espindola authored
llvm-svn: 122658
-
Duncan Sands authored
numbering, in which it considers (for example) "%a = add i32 %x, %y" and "%b = add i32 %x, %y" to be equal because the operands are equal and the result of the instructions only depends on the values of the operands. This has almost no effect (it removes 4 instructions from gcc-as-one-file), and perhaps slows down compilation: I measured a 0.4% slowdown on the large gcc-as-one-file testcase, but it wasn't statistically significant. llvm-svn: 122654
-
Che-Liang Chiou authored
llvm-svn: 122653
-
Che-Liang Chiou authored
llvm-svn: 122652
-
- Dec 31, 2010
-
-
Oscar Fuentes authored
is necessary for executing the custom command that runs the assember. Fixes PR8877. llvm-svn: 122649
-
Duncan Sands authored
operands are visited before the instructions themselves. llvm-svn: 122647
-
Duncan Sands authored
llvm-svn: 122645
-
- Dec 30, 2010
-
-
Benjamin Kramer authored
llvm-svn: 122642
-
Nick Lewycky authored
Fixes PR8861. llvm-svn: 122641
-
Che-Liang Chiou authored
llvm-svn: 122638
-
Chris Lattner authored
llvm-svn: 122637
-
Chris Lattner authored
llvm-svn: 122636
-
Cameron Zwarich authored
with 2-address instructions, for about a 3.5% speedup of StrongPHIElimination on 403.gcc. llvm-svn: 122635
-
- Dec 29, 2010
-
-
Chris Lattner authored
llvm-svn: 122632
-
Wesley Peck authored
llvm-svn: 122631
-
Daniel Dunbar authored
llvm-svn: 122630
-
Cameron Zwarich authored
llvm-svn: 122628
-
Cameron Zwarich authored
process those instructions that define phi sources. This is a 47% speedup of StrongPHIElimination compile time on 403.gcc. llvm-svn: 122627
-
Venkatraman Govindaraju authored
llvm-svn: 122626
-
Cameron Zwarich authored
llvm-svn: 122625
-
Rafael Espindola authored
llvm-svn: 122624
-
NAKAMURA Takumi authored
CMake: Add disabling optimization on MSVC8 and MSVC10 as workaround for some files in Target/ARM and Target/X86. llvm-svn: 122623
-
Cameron Zwarich authored
llvm-svn: 122617
-
Rafael Espindola authored
llvm-svn: 122616
-
Rafael Espindola authored
llvm-svn: 122615
-