aboutsummaryrefslogtreecommitdiff
path: root/include/llvm/Analysis
AgeCommit message (Collapse)Author
2007-11-25Remove another leak. Due to some reason AliasSetTracker didn't had any dtor...Anton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44320 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-25Add new SCEV, SCEVSMax. This allows LLVM to analyze do-while loops.Nick Lewycky
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44319 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-25Remove a leak. Destroy LoopInfoBase object. releaseMemory() is actually ↵Anton Korobeynikov
called in its dtor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44317 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-19Remove meaningless qualifiers from return types, avoiding compiler warnings.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44240 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-19Add explicit keywords.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44234 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-15Reverted r44163 per requestAnton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44177 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-15Fix handling of overflow in loop calculation by adding new UDiv SCEV. This SCEVNick Lewycky
is disabled in the sense that it will refuse to create one from a UDiv instruction, until the code is better tested. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44163 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-15More templatization.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44158 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-14Start the process of making MachineLoopInfo possible by templating Loop.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44097 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-02VAArgInst does, in fact, read memory.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43633 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-31Some fixes to get MachineDomTree working better.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43541 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-29Add explicit keywords.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43464 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-29Add a first attempt at dominator information for MBB's. Use with caution: ↵Owen Anderson
this has been tested to compile. It has not yet been confirmed to generate correct analysis. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43438 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-25Make it possible for DomTreeBase to be constructed from MachineFunction's as ↵Owen Anderson
well as just Function's. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43321 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-23Make DomTreeBase not a FunctionPass.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43263 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-23Unbreak the build. Forgot to commit this file.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43260 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-23Make DomTree and PostDomTree thin wrappers around DomTreeBase, rather than ↵Owen Anderson
inheriting from it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43259 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-22Move the SCEV object factors from being static members of the individualDan Gohman
SCEV subclasses to being non-static member functions of the ScalarEvolution class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43224 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18Move Split<...>() into DomTreeBase. This should make the #include's of ↵Owen Anderson
DominatorInternals.h in CodeExtractor and LoopSimplify unnecessary. Hartmut, could you confirm that this fixes the issues you were seeing? git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43115 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-17Updated VC++ build system.Hartmut Kaiser
Silenced some VC warnings. I'm getting linker errors, though: unresolved externals: llvm::Split<class llvm::BasicBlock *,struct llvm::GraphTraits<class llvm::BasicBlock *> >(class llvm::DominatorTreeBase<class llvm::BasicBlock> &,class llvm::BasicBlock *) and llvm::Split<struct llvm::Inverse<class llvm::BasicBlock *>,struct llvm::GraphTraits<struct llvm::Inverse<class llvm::BasicBlock *> > >(class llvm::DominatorTreeBase<class llvm::BasicBlock> &,class llvm::BasicBlock *) Where are these defined? git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43073 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-17Move splitBlock into DomTreeBase from DomTree.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43059 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-16Fix some formatting.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43049 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-16Template DominatorTreeBase by node type. This is the next major step towardsOwen Anderson
having dominator information on MBB's. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43036 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-08Begin the process of allowing DomTree on MBB's. Step One: template ↵Owen Anderson
DomTreeNode by making it a typedef of a templated DomTreeNodeBase. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42743 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-03Completely merge the implementation details of DomTree and PostDomTree.Owen Anderson
Also, add a FIXME for a bug in PostDomTree calculation I noticed while writing this, git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42593 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-03Factor some code from the DomTree and PostDomTree calculate methods up into Owen Anderson
each one's runOnFunction method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42563 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-01Add empty() member functions to a few container-like classes.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42487 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-30Template-ize more of the DomTree internal implementation details. Only the ↵Owen Anderson
calculate() methods for DomTree and PostDomTree remain to be merged/template-ized. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42476 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-29Add newline at end of file.Duncan Sands
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42470 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-28Have PostDomTree use the newly templated DFSPass.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42427 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-27Convert DFSPass into a templated friend function, in preparation for making ↵Owen Anderson
it common to DomTree and PostDomTree. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42420 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-24Merge significant portions of the DomTree and PostDomTree implementations.Owen Anderson
The two remaining unmerged parts are DFSPass, and the Calculate(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42255 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-23Factor the calculation details for PostDomTree out of PostDominators.cpp andOwen Anderson
into a separate header file. Next step: merging PostDominatorCalculation.h with DominatorCalculation.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42251 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-23Move DFSPass back down into DominatorTree. I need to figure out what the ↵Owen Anderson
difference is between it and the PostDomTree version first. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42250 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-23Factor the dominator tree calculation details out into ↵Owen Anderson
DominatorCalculation.h. This change is not useful in and of itself, but it lays the groundwork for combining the dominator and postdominator implementations. Also, factor a few methods that are common to DominatorTree and PostDominatorTree into DominatorTreeBase. Again, this will make merging the two calculation methods simpler in the future. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42248 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-19Add a flag to mark a dirty cache entry. This is not yet used, but will ↵Owen Anderson
eventually help non-local memdep caching. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42137 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-21No need to hardcode SmallVector size.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41228 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-21Use SmallVector instead of std::vector.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41207 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-20- Use correct header for SCEV inside LoopPass.cppAnton Korobeynikov
- Move SCEVExpander::expand() out-of-line workarounding possible toolchain bug git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41197 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-18Simplify.Nick Lewycky
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41167 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-17When one branch of condition is eliminated then head of the otherDevang Patel
branch is not necessary immediate dominators of merge blcok in all cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41144 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-16Cache non-local memory dependence analysis. This is a significant compileOwen Anderson
time performance win in most cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41126 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-14No need to use iterator to erase basic block.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41074 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-13Add methods to erase basic block entry.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41052 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-12Change casts from old style to new style. This helps document the detailsReid Spencer
better, gives the compiler a chance to validate the cast and reduces warnings if the user turns on -Wold-style-cast option. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41033 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-09Make NonLocal and None const in the right way. :-)Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40961 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-08Add one more comment.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40949 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-08Cleanup and comment-ize the memdep header.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40948 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-08Change the None and NonLocal markers in memdep to be const.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40946 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-08reimplement dfs number computation to be significantly faster. This speeds upChris Lattner
natural loop canonicalization (which does many cfg xforms) by 4.3x, for example. This also fixes a bug in postdom dfnumber computation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40920 91177308-0d34-0410-b5e6-96231b3b80d8