aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/Analysis
Commit message (Collapse)AuthorAgeFilesLines
* Add new methodChris Lattner2004-03-012-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12056 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix the "partial pool allocator" on em3d and others. The problem is thatChris Lattner2004-03-012-8/+16
| | | | | | | | | | DSNodes, unlike other GraphTraits nodes, can have null outgoing edges, and df_iterator doesn't take this into consideration. As a workaround, the successor iterator now handles null nodes and 'indicates' that null has no successors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12025 91177308-0d34-0410-b5e6-96231b3b80d8
* Doxygenify comments.Misha Brukman2004-02-291-16/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12015 91177308-0d34-0410-b5e6-96231b3b80d8
* Update comments and add warningChris Lattner2004-02-212-4/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11691 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a method useful for updating DSAChris Lattner2004-02-192-0/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11636 91177308-0d34-0410-b5e6-96231b3b80d8
* Add an important prototypeChris Lattner2004-02-111-0/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11320 91177308-0d34-0410-b5e6-96231b3b80d8
* Factor this code out of llvm-profChris Lattner2004-02-111-0/+65
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11314 91177308-0d34-0410-b5e6-96231b3b80d8
* An initial implementation of an LLVM ProfileInfo class which is designed toChris Lattner2004-02-101-0/+43
| | | | | | | eventually allow Passes to use profiling information to direct them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11294 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove some unneeded stuffChris Lattner2004-02-101-3/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11286 91177308-0d34-0410-b5e6-96231b3b80d8
* Substantially improve the DSA code by removing 'forwarding' nodes fromChris Lattner2004-02-084-4/+18
| | | | | | | | | | DSGraphs while they are forwarding. When the last reference to the forwarding node is dropped, the forwarding node is autodeleted. This should simplify removeTriviallyDead nodes, and is only (efficiently) possible because we are using an ilist of dsnodes now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11175 91177308-0d34-0410-b5e6-96231b3b80d8
* Switch the Nodes list from being an std::vector<DSNode*> to an ilist<DSNode>Chris Lattner2004-02-084-8/+66
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11173 91177308-0d34-0410-b5e6-96231b3b80d8
* Change to use iterators instead of direct accessChris Lattner2004-02-082-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11170 91177308-0d34-0410-b5e6-96231b3b80d8
* Abstract out the Nodes collection. Instead of providing a getNodes() method,Chris Lattner2004-02-074-22/+22
| | | | | | | | provide node_begin/end iterators, which are only guaranteed to be bidirectional, not random access. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11165 91177308-0d34-0410-b5e6-96231b3b80d8
* Actually USE isForwarding methodChris Lattner2004-02-072-10/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11160 91177308-0d34-0410-b5e6-96231b3b80d8
* As Alkis pointed out to me, I forgot to commit this... :(Chris Lattner2004-02-072-0/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11159 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new pointsToConstantMemory method to the AliasAnalysis interfaceChris Lattner2004-01-301-1/+8
| | | | | | | which can be implemented to improve the quality of mod-ref information. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11020 91177308-0d34-0410-b5e6-96231b3b80d8
* Doxygenify comments.Misha Brukman2004-01-301-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11014 91177308-0d34-0410-b5e6-96231b3b80d8
* Keep track of all of the globals inserted into the scalar mapChris Lattner2004-01-282-8/+52
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10995 91177308-0d34-0410-b5e6-96231b3b80d8
* Pull the ScalarMap out into something that is more structured than what we hadChris Lattner2004-01-282-2/+84
| | | | | | | | before. This allows us to have a place to implement optimizations in a structured way. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10994 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor tweaksChris Lattner2004-01-272-10/+22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10983 91177308-0d34-0410-b5e6-96231b3b80d8
* Add comments, allow DSNode "copy ctor" to ignore outgoing links, add moreChris Lattner2004-01-272-6/+40
| | | | | | | structured access to the globals list, add a couple helper methods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10982 91177308-0d34-0410-b5e6-96231b3b80d8
* * cloneReachable* and clonePartiallyInto are not obsoleteChris Lattner2004-01-272-76/+92
| | | | | | | | | * Make AssertNodeInGraph not be HORRIBLY time consuming * Eliminate the dead mergeInGlobalsGraph method *** Add the definition for the new ReachabilityCloner class git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10981 91177308-0d34-0410-b5e6-96231b3b80d8
* Add new flag, other minor modificationsChris Lattner2004-01-232-10/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10969 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix grammarChris Lattner2004-01-232-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10968 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminated the CompletedNodes argument to the cloneReachable* methods. ThisChris Lattner2004-01-222-10/+4
| | | | | | | | | map was only used to implement a marginal GlobalsGraph optimization, and it actually slows the analysis down (due to the overhead of keeping it), so just eliminate it entirely. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10955 91177308-0d34-0410-b5e6-96231b3b80d8
* It doesn't make sense for one side to be const, but not the other.Chris Lattner2004-01-224-14/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10952 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove const qualifier (all Value*'s are nonconst in DSA, so it's not clearChris Lattner2004-01-222-2/+40
| | | | | | | | | why this one was) Add new method proto git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10950 91177308-0d34-0410-b5e6-96231b3b80d8
* Specialize std::swap correctlyChris Lattner2004-01-222-4/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10949 91177308-0d34-0410-b5e6-96231b3b80d8
* Move SlotCalculator.h from include/llvm to include/llvm/AnalysisChris Lattner2004-01-201-4/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10930 91177308-0d34-0410-b5e6-96231b3b80d8
* add a method proto, make a method not inlineChris Lattner2004-01-201-7/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10921 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for representing the "compaction table"Chris Lattner2004-01-181-5/+40
| | | | | | | Change protected members to private. Nothing should subclass SlotCalculator git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10912 91177308-0d34-0410-b5e6-96231b3b80d8
* Improve comments, add support for remembering the constants strings thatChris Lattner2004-01-141-14/+27
| | | | | | | are to be emitted. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10866 91177308-0d34-0410-b5e6-96231b3b80d8
* The only clients of the slot calculator are now the asmwriter and bcwriter.Chris Lattner2004-01-141-3/+8
| | | | | | | | | Since this really only makes sense for these two, change hte instance variable to reflect whether we are writing a bytecode file or not. This makes it reasonable to add bcwriter specific stuff to it as necessary. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10837 91177308-0d34-0410-b5e6-96231b3b80d8
* Improve encapsulation in the Loop and LoopInfo classes by eliminating theChris Lattner2004-01-081-7/+14
| | | | | | | | getSubLoops/getTopLevelLoops methods, replacing them with iterator-based accessors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10714 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename ClassifyExpression -> ClassifyExprChris Lattner2003-12-231-6/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10591 91177308-0d34-0410-b5e6-96231b3b80d8
* fix grammaoChris Lattner2003-12-221-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10576 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new AliassetTracker::remove method. Because we need to be able to removeChris Lattner2003-12-181-9/+33
| | | | | | | | | a pointer from an AliasSet, maintain the pointer values on a doubly linked list instead of a singly linked list, to permit efficient removal from the middle of the list. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10506 91177308-0d34-0410-b5e6-96231b3b80d8
* Add capability to represent volatile AliasSet'sChris Lattner2003-12-141-3/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10456 91177308-0d34-0410-b5e6-96231b3b80d8
* IncludeFile hack to pull in BasicValueNumbering whenever ValueNumbering.hBrian Gaeke2003-12-111-0/+5
| | | | | | | is included. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10397 91177308-0d34-0410-b5e6-96231b3b80d8
* IncludeFile hack to pull in BasicAliasAnalysis whenever AliasAnalysis.hBrian Gaeke2003-12-111-0/+9
| | | | | | | is included. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10396 91177308-0d34-0410-b5e6-96231b3b80d8
* The recalclulate method was a nasty hack that was once used by the -cee pass,Chris Lattner2003-12-071-5/+0
| | | | | | | | which never worked itself. The cee pass still doesn't work, but it doesn't use this method anymore anyway, so eliminate the method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10302 91177308-0d34-0410-b5e6-96231b3b80d8
* Rewrite dominators implementation. Now domset is constructed from immdom,Chris Lattner2003-12-071-95/+111
| | | | | | | instead of the other way around. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10300 91177308-0d34-0410-b5e6-96231b3b80d8
* Move this method out of the generic dominators calculation codeChris Lattner2003-12-071-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10298 91177308-0d34-0410-b5e6-96231b3b80d8
* be GCC 3.4 cleanChris Lattner2003-11-291-19/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10264 91177308-0d34-0410-b5e6-96231b3b80d8
* Add methods for implementationChris Lattner2003-11-132-0/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9963 91177308-0d34-0410-b5e6-96231b3b80d8
* Add an initial version of the CompleteBUDataStructures passChris Lattner2003-11-132-0/+68
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9955 91177308-0d34-0410-b5e6-96231b3b80d8
* Add argumentChris Lattner2003-11-122-2/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9921 91177308-0d34-0410-b5e6-96231b3b80d8
* Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke2003-11-1133-5/+154
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
* Add new methodChris Lattner2003-11-112-0/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9879 91177308-0d34-0410-b5e6-96231b3b80d8
* All DSGraphs keep a reference to the targetdata they are created with. This isChris Lattner2003-11-028-12/+50
| | | | | | | | | used to eliminate the hard coded, hacked in, sparc specific, global TargetData. Changing the TargetData used to actually match the code fixes problems, and eliminates a crash. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9659 91177308-0d34-0410-b5e6-96231b3b80d8