Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Remove attribution from file headers, per discussion on llvmdev. | Chris Lattner | 2007-12-29 | 1 | -2/+2 |
| | | | | llvm-svn: 45418 | ||||
* | Use SmallVector instead of std::vector. | Devang Patel | 2007-08-21 | 1 | -7/+5 |
| | | | | llvm-svn: 41207 | ||||
* | When one branch of condition is eliminated then head of the other | Devang Patel | 2007-08-17 | 1 | -1/+2 |
| | | | | | | branch is not necessary immediate dominators of merge blcok in all cases. llvm-svn: 41144 | ||||
* | LCSSA preserves dom info. | Devang Patel | 2007-07-30 | 1 | -0/+8 |
| | | | | llvm-svn: 40604 | ||||
* | Now this temp. fix is not required. | Devang Patel | 2007-07-19 | 1 | -4/+0 |
| | | | | llvm-svn: 40034 | ||||
* | Return Undef if the block has no dominator. This was required to allow | Reid Spencer | 2007-07-16 | 1 | -0/+4 |
| | | | | | | | | llvm-gcc build to succeed. Without this change it fails in libstdc++ compilation. This causes no regressions in dejagnu tests. However, someone who knows this code better might want to review it. llvm-svn: 39924 | ||||
* | Make LCSSA a loop pass. | Devang Patel | 2007-07-13 | 1 | -21/+11 |
| | | | | llvm-svn: 39844 | ||||
* | Maintain ETNode as part of DomTreeNode. | Devang Patel | 2007-06-07 | 1 | -1/+1 |
| | | | | | | This adds redundancy for now. llvm-svn: 37492 | ||||
* | s/llvm::DominatorTreeBase::DomTreeNode/llvm::DomTreeNode/g | Devang Patel | 2007-06-04 | 1 | -8/+8 |
| | | | | llvm-svn: 37407 | ||||
* | s/DominatorTreeBase::Node/DominatorTreeBase:DomTreeNode/g | Devang Patel | 2007-06-03 | 1 | -8/+8 |
| | | | | llvm-svn: 37403 | ||||
* | Fix typos. | Dan Gohman | 2007-05-11 | 1 | -1/+1 |
| | | | | llvm-svn: 36994 | ||||
* | Fix typo in comment. | Nick Lewycky | 2007-05-06 | 1 | -1/+1 |
| | | | | llvm-svn: 36873 | ||||
* | Drop 'const' | Devang Patel | 2007-05-03 | 1 | -2/+2 |
| | | | | llvm-svn: 36662 | ||||
* | Use 'static const char' instead of 'static const int'. | Devang Patel | 2007-05-02 | 1 | -2/+2 |
| | | | | | | | Due to darwin gcc bug, one version of darwin linker coalesces static const int, which defauts PassID based pass identification. llvm-svn: 36652 | ||||
* | Do not use typeinfo to identify pass in pass manager. | Devang Patel | 2007-05-01 | 1 | -0/+4 |
| | | | | llvm-svn: 36632 | ||||
* | Revert Owen's last check-in. This is breaking Mac OS X / PPC llvm-gcc bootstrap. | Evan Cheng | 2007-04-18 | 1 | -18/+21 |
| | | | | llvm-svn: 36258 | ||||
* | Use ETForest instead of DominatorTree. | Owen Anderson | 2007-04-18 | 1 | -21/+18 |
| | | | | llvm-svn: 36247 | ||||
* | avoid copying sets and vectors around. | Chris Lattner | 2007-04-14 | 1 | -7/+6 |
| | | | | llvm-svn: 36017 | ||||
* | Apply the VISIBILITY_HIDDEN field to the remaining anonymous classes in | Reid Spencer | 2007-02-05 | 1 | -1/+2 |
| | | | | | | | the Transforms library. This reduces debug library size by 132 KB, debug binary size by 376 KB, and reduces link time for llvm tools slightly. llvm-svn: 33939 | ||||
* | For PR1177: | Reid Spencer | 2007-02-05 | 1 | -4/+4 |
| | | | | | | Revert last patch which caused iteration invalidation. llvm-svn: 33901 | ||||
* | Use DenseMap for pointer->pointer maps. | Owen Anderson | 2007-02-05 | 1 | -4/+4 |
| | | | | llvm-svn: 33897 | ||||
* | switch more statistics over to STATISTIC, eliminating static ctors. Also, | Chris Lattner | 2006-12-19 | 1 | -4/+3 |
| | | | | | | delete some dead ones. llvm-svn: 32694 | ||||
* | Detemplatize the Statistic class. The only type it is instantiated with | Chris Lattner | 2006-12-06 | 1 | -1/+1 |
| | | | | | | is 'unsigned'. llvm-svn: 32279 | ||||
* | generalize the fix for PR977 to also fix | Chris Lattner | 2006-10-31 | 1 | -28/+26 |
| | | | | | | Transforms/LCSSA/2006-10-31-UnreachableBlock-2.ll llvm-svn: 31317 | ||||
* | Fix PR977 and Transforms/LCSSA/2006-10-31-UnreachableBlock.ll | Chris Lattner | 2006-10-31 | 1 | -1/+8 |
| | | | | llvm-svn: 31315 | ||||
* | eliminate RegisterOpt. It does the same thing as RegisterPass. | Chris Lattner | 2006-08-27 | 1 | -1/+1 |
| | | | | llvm-svn: 29925 | ||||
* | Add special check to avoid isLoop call. Simple, but doesn't seem to speed | Chris Lattner | 2006-08-02 | 1 | -2/+2 |
| | | | | | | up lcssa much in practice. llvm-svn: 29465 | ||||
* | Replace the SSA update code in LCSSA with a bottom-up approach instead of a top | Chris Lattner | 2006-08-02 | 1 | -125/+95 |
| | | | | | | | | | | | | | | | | | 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 | ||||
* | Fix typo in the comment. | Owen Anderson | 2006-07-09 | 1 | -1/+1 |
| | | | | llvm-svn: 29078 | ||||
* | Add a fix for an issue where LCSSA would fail to insert undef's in some corner | Owen Anderson | 2006-07-09 | 1 | -14/+21 |
| | | | | | | | cases. Ideally, this issue will go away in the future as LCSSA gets smarter about which Phi nodes it inserts. llvm-svn: 29076 | ||||
* | Use the PotDoms map to memoize 'dominating value' lookup. With this patch, | Chris Lattner | 2006-06-14 | 1 | -17/+14 |
| | | | | | | | LCSSA is still the slowest pass when gccas'ing 252.eon, but now it only takes 39s instead of 289s. :) llvm-svn: 28776 | ||||
* | Fix another instance where PHI nodes need special treatment. | Owen Anderson | 2006-06-13 | 1 | -0/+6 |
| | | | | llvm-svn: 28774 | ||||
* | Fix a bug that was causing major slowdowns in povray. This was due to LCSSA | Owen Anderson | 2006-06-13 | 1 | -2/+7 |
| | | | | | | | | | 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 | ||||
* | Fix for 2006-06-26-MultipleExitsSingleBlock. | Owen Anderson | 2006-06-12 | 1 | -4/+7 |
| | | | | | | | | 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 | ||||
* | Re-commit the safe parts of my 6/9 patch. Still working on fixing the ↵ | Owen Anderson | 2006-06-11 | 1 | -0/+2 |
| | | | | | | unsafe parts. llvm-svn: 28748 | ||||
* | Back out Owen's 6/9 changes. They broke ↵ | Evan Cheng | 2006-06-11 | 1 | -3/+1 |
| | | | | | | MultiSource/Benchmarks/Prolangs-C/bison (and perhaps others). llvm-svn: 28747 | ||||
* | Make Loop able to verify that it is in LCSSA-form, and have the LCSSA pass ↵ | Owen Anderson | 2006-06-09 | 1 | -1/+3 |
| | | | | | | | | assert on this. llvm-svn: 28738 | ||||
* | Update some comments, and expose LCSSAID in preparation for having other passes | Owen Anderson | 2006-06-08 | 1 | -1/+8 |
| | | | | | | require LCSSA. llvm-svn: 28734 | ||||
* | Fix some formatting, and use inLoop() when appropriate. | Owen Anderson | 2006-06-06 | 1 | -3/+3 |
| | | | | llvm-svn: 28694 | ||||
* | Stop a memory leak, and update some comments. | Owen Anderson | 2006-06-06 | 1 | -10/+10 |
| | | | | llvm-svn: 28693 | ||||
* | Some more clean-up, and squash an IDF-Phi related bug. | Owen Anderson | 2006-06-04 | 1 | -16/+13 |
| | | | | llvm-svn: 28680 | ||||
* | Various clean-ups suggested by Chris. | Owen Anderson | 2006-06-04 | 1 | -30/+32 |
| | | | | llvm-svn: 28678 | ||||
* | Fix a bug in Phi-noded insertion. Also, update some comments to reflect what's | Owen Anderson | 2006-06-03 | 1 | -12/+21 |
| | | | | | | actually going on. llvm-svn: 28677 | ||||
* | Remove a FIXME that was fixed with my last patch. | Owen Anderson | 2006-06-01 | 1 | -2/+0 |
| | | | | llvm-svn: 28619 | ||||
* | More cleanups. Also, add a special case for updating PHI nodes, and | Owen Anderson | 2006-06-01 | 1 | -21/+33 |
| | | | | | | | reimplement getValueDominatingFunction to walk the DominanceTree rather than just searching blindly. llvm-svn: 28618 | ||||
* | Extract a huge loop into a helper method. Fix a few iterator-invalidation bugs. | Owen Anderson | 2006-05-31 | 1 | -86/+113 |
| | | | | llvm-svn: 28599 | ||||
* | Add Use replacement. Assuming there is nothing horribly wrong with this, LCSSA | Owen Anderson | 2006-05-29 | 1 | -2/+35 |
| | | | | | | | is now theoretically feature-complete. It has not, however, been thoroughly test, and is still considered experimental. llvm-svn: 28529 | ||||
* | Major think-o. Iterate over all live out-of-loop values, and perform the | Owen Anderson | 2006-05-28 | 1 | -36/+36 |
| | | | | | | | other calculations on each individually, rather than trying to delay it and do them all at the end. llvm-svn: 28527 | ||||
* | Make LCSSA insert proper Phi nodes throughout the rest of the CFG by computing | Owen Anderson | 2006-05-27 | 1 | -8/+51 |
| | | | | | | | | 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 | ||||
* | A few small clean-ups, and the addition of an LCSSA statistic. | Owen Anderson | 2006-05-27 | 1 | -2/+8 |
| | | | | llvm-svn: 28512 |