- Aug 28, 2006
-
-
Chris Lattner authored
llvm-svn: 29925
-
- Aug 27, 2006
-
-
Chris Lattner authored
llvm-svn: 29911
-
- Aug 12, 2006
-
-
Chris Lattner authored
Not only will this take huge amounts of compile time, the resultant loop nests won't be useful for optimization. This reduces loopsimplify time on Transforms/LoopSimplify/2006-08-11-LoopSimplifyLongTime.ll from ~32s to ~0.4s with a debug build of llvm on a 2.7Ghz G5. llvm-svn: 29647
-
Chris Lattner authored
blocks that target loop blocks. Before, the code was run once per loop, and depended on the number of predecessors each block in the loop had. Unfortunately, scanning preds can be really slow when huge numbers of phis exist or when phis with huge numbers of inputs exist. Now, the code is run once per function and scans successors instead of preds, which is far faster. In addition, the new code is simpler and is goto free, woo. This change speeds up a nasty testcase Duraid provided me from taking hours to taking ~72s with a debug build. The functionality this implements is already tested in the testsuite as Transforms/CodeExtractor/2004-03-13-LoopExtractorCrash.ll. llvm-svn: 29644
-
- Aug 03, 2006
-
-
Chris Lattner authored
Transforms/SimplifyCFG/2006-08-03-Crash.ll llvm-svn: 29515
-
- Aug 02, 2006
-
-
Chris Lattner authored
up lcssa much in practice. llvm-svn: 29465
-
Chris Lattner authored
down approach, inspired by discussions with Tanya. This approach is significantly faster, because it does not need dominator frontiers and it does not insert extraneous unused PHI nodes. For example, on 252.eon, in a release-asserts build, this speeds up LCSSA (which is the slowest pass in gccas) from 9.14s to 0.74s on my G5. This code is also slightly smaller and significantly simpler than the old code. Amusingly, in a normal Release build (which includes the "assert(L->isLCSSAForm());" assertion), asserting that the result of LCSSA is in LCSSA form is actually slower than the LCSSA transformation pass itself on 252.eon. I will see if Loop::isLCSSAForm can be sped up next. llvm-svn: 29463
-
- Jul 27, 2006
-
-
Chris Lattner authored
llvm-svn: 29324
-
- Jul 18, 2006
-
-
Chris Lattner authored
llvm-svn: 29189
-
- Jul 15, 2006
-
-
Chris Lattner authored
llvm-svn: 29149
-
- Jul 12, 2006
-
-
Chris Lattner authored
This unbreaks smg2000. llvm-svn: 29127
-
Chris Lattner authored
Handle this case, which doesn't require a new callgraph edge. This fixes a crash compiling MallocBench/gs. llvm-svn: 29121
-
Chris Lattner authored
target CG node. This allows the inliner to properly update the callgraph when using the pruning inliner. The pruning inliner may not copy over all call sites from a callee to a caller, so the edges corresponding to those call sites should not be copied over either. This fixes PR827 and Transforms/Inline/2006-07-12-InlinePruneCGUpdate.ll llvm-svn: 29120
-
- Jul 09, 2006
-
-
Owen Anderson authored
llvm-svn: 29078
-
Owen Anderson authored
cases. Ideally, this issue will go away in the future as LCSSA gets smarter about which Phi nodes it inserts. llvm-svn: 29076
-
- Jun 29, 2006
-
-
Chris Lattner authored
dropped. This shrinks libllvmgcc.dylib another 67K llvm-svn: 28975
-
- Jun 14, 2006
-
-
Chris Lattner authored
LCSSA is still the slowest pass when gccas'ing 252.eon, but now it only takes 39s instead of 289s. :) llvm-svn: 28776
-
- Jun 13, 2006
-
-
Owen Anderson authored
llvm-svn: 28774
-
Owen Anderson authored
not handling PHI nodes correctly when determining if a value was live-out. This patch reduces the number of detected live-out variables in the testcase from 6565 to 485. llvm-svn: 28771
-
- Jun 12, 2006
-
-
Chris Lattner authored
llvm-svn: 28758
-
Owen Anderson authored
If a single exit block has multiple predecessors within the loop, it will appear in the exit blocks list more than once. LCSSA needs to take that into account so that it doesn't double process that exit block. llvm-svn: 28750
-
- Jun 11, 2006
-
-
Owen Anderson authored
llvm-svn: 28748
-
Evan Cheng authored
Back out Owen's 6/9 changes. They broke MultiSource/Benchmarks/Prolangs-C/bison (and perhaps others). llvm-svn: 28747
-
- Jun 09, 2006
-
-
Owen Anderson authored
on this. llvm-svn: 28738
-
- Jun 08, 2006
-
-
Owen Anderson authored
require LCSSA. llvm-svn: 28734
-
- Jun 06, 2006
-
-
Owen Anderson authored
llvm-svn: 28694
-
Owen Anderson authored
llvm-svn: 28693
-
- Jun 04, 2006
-
-
Owen Anderson authored
llvm-svn: 28680
-
Owen Anderson authored
llvm-svn: 28678
-
Owen Anderson authored
actually going on. llvm-svn: 28677
-
- Jun 02, 2006
-
-
Chris Lattner authored
to link in the implementation. Thanks to Anton Korobeynikov for figuring out what was going on here. llvm-svn: 28660
-
- Jun 01, 2006
-
-
Chris Lattner authored
llvm-svn: 28642
-
Chris Lattner authored
code (while cloning) it often gets the branch/switch instructions. Since it knows that edges of the CFG are dead, it need not clone (or even look) at the obviously dead blocks. This should speed up the inliner substantially on code where there are lots of inlinable calls to functions with constant arguments. On C++ code in particular, this kicks in. llvm-svn: 28641
-
Owen Anderson authored
llvm-svn: 28619
-
Owen Anderson authored
reimplement getValueDominatingFunction to walk the DominanceTree rather than just searching blindly. llvm-svn: 28618
-
- May 31, 2006
-
-
Owen Anderson authored
llvm-svn: 28599
-
- May 29, 2006
-
-
Owen Anderson authored
is now theoretically feature-complete. It has not, however, been thoroughly test, and is still considered experimental. llvm-svn: 28529
-
- May 28, 2006
-
-
Owen Anderson authored
other calculations on each individually, rather than trying to delay it and do them all at the end. llvm-svn: 28527
-
- May 27, 2006
-
-
Owen Anderson authored
the iterated Dominance Frontier of the loop-closure Phi's. This is the second phase of the LCSSA pass. The third phase (coming soon) will be to update all uses of loop variables to use the loop-closure Phi's instead. llvm-svn: 28524
-
Chris Lattner authored
ldecod, lencod, and SPASS. llvm-svn: 28523
-