- Jan 03, 2011
-
-
Duncan Sands authored
InstructionSimplify on instructions that didn't change since the last time round the loop. llvm-svn: 122745
-
Cameron Zwarich authored
capacity on the Visited SmallPtrSet. On 403.gcc, this is about a 4.5% speedup of CodeGenPrepare time (which itself is 10% of time spent in the backend). This is progress towards PR8889. llvm-svn: 122741
-
Chris Lattner authored
elimination as well. This deletes 60 stores in 176.gcc that largely come from bitfield code. llvm-svn: 122736
-
Chris Lattner authored
speeding earlycse up by 6%. llvm-svn: 122733
-
Chris Lattner authored
store->load forwarding. This allows EarlyCSE to zap 600 more loads from 176.gcc. llvm-svn: 122732
-
Chris Lattner authored
by their pointer instead of using MemoryValue to wrap it. llvm-svn: 122731
-
Chris Lattner authored
llvm-svn: 122729
-
Chris Lattner authored
On 176.gcc, this catches 13090 loads and calls, and increases the number of simple instructions CSE'd from 29658 to 36208. llvm-svn: 122727
-
Chris Lattner authored
llvm-svn: 122725
-
Michael J. Spencer authored
llvm-svn: 122724
-
Chris Lattner authored
allocator. This speeds up early cse by about 20% llvm-svn: 122723
-
Chris Lattner authored
llvm-svn: 122720
-
Cameron Zwarich authored
of instcombine that is currently in the middle of the loop pass pipeline. This commit only checks in the pass; it will hopefully be enabled by default later. llvm-svn: 122719
-
Chris Lattner authored
llvm-svn: 122718
-
Chris Lattner authored
Teach it to CSE the rest of the non-side-effecting instructions. llvm-svn: 122716
-
Chris Lattner authored
Add a testcase. llvm-svn: 122715
-
- Jan 02, 2011
-
-
Chris Lattner authored
so that Dominators.h is *just* domtree. Also prune #includes a bit. llvm-svn: 122714
-
Chris Lattner authored
llvm-svn: 122713
-
Chris Lattner authored
sure that the loop we're promoting into a memcpy doesn't mutate the input of the memcpy. Before we were just checking that the dest of the memcpy wasn't mod/ref'd by the loop. llvm-svn: 122712
-
Chris Lattner authored
mess with it. We'd rather peel/unroll it than convert all of its stores into memsets. llvm-svn: 122711
-
Nick Lewycky authored
another function. llvm-svn: 122705
-
Chris Lattner authored
blocks in a loop, instead of just the header block. This makes it more aggressive, able to handle Duncan's Ada examples. llvm-svn: 122704
-
Chris Lattner authored
llvm-svn: 122703
-
Chris Lattner authored
isExitBlockDominatedByBlockInLoop is a relic of the days when domtree was *just* a tree and didn't have DFS numbers. Checking DFS numbers is faster and easier than "limiting the search of the tree". llvm-svn: 122702
-
Chris Lattner authored
llvm-svn: 122701
-
Duncan Sands authored
in the PR, the pass could break LCSSA form when inserting preheaders. It probably would be easy enough to fix this, but since currently we always go into LCSSA form after running this pass, doing so is not urgent. llvm-svn: 122695
-
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
loop idiom pass exposed. llvm-svn: 122674
-
Chris Lattner authored
new testcase. llvm-svn: 122662
-
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
-
- Dec 31, 2010
-
-
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
-
- Dec 28, 2010
-
-
Chris Lattner authored
check for "multiple of a byte" in size to make it clear that the >> 3 below is safe. llvm-svn: 122604
-