aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Analysis/DataStructure/EquivClassGraphs.cpp
Commit message (Collapse)AuthorAgeFilesLines
* add a method to compute a commonly used mapping.Chris Lattner2005-03-141-5/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20588 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure to remove incomplete markers before we add to them! :)Chris Lattner2005-03-131-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20585 91177308-0d34-0410-b5e6-96231b3b80d8
* After finishing BU analysis, move all global variables from the globalsChris Lattner2005-03-131-3/+24
| | | | | | | graph into main and mark them complete. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20583 91177308-0d34-0410-b5e6-96231b3b80d8
* ADd support for printing eqgraphs.Chris Lattner2005-03-131-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20582 91177308-0d34-0410-b5e6-96231b3b80d8
* remove this from the PA namespace, leaving it in the llvm nsChris Lattner2005-03-121-8/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20574 91177308-0d34-0410-b5e6-96231b3b80d8
* Move this from the pool allocator project to here, where it logically belongs.Chris Lattner2005-03-121-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20570 91177308-0d34-0410-b5e6-96231b3b80d8
* Make things more const-correct, adjust to changes in DSA interfaces.Chris Lattner2005-01-301-5/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19940 91177308-0d34-0410-b5e6-96231b3b80d8
* Make this build in release modeChris Lattner2004-11-111-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17684 91177308-0d34-0410-b5e6-96231b3b80d8
* Graphs that are part of equivalence sets can be multi-function SCC'sChris Lattner2004-11-021-3/+8
| | | | | | | | themselves. Make sure to update DSInfo correctly. This fixes a testcase reduced from Prolangs-C++/objects git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17439 91177308-0d34-0410-b5e6-96231b3b80d8
* Correctly handle new SCC's found as a result of merging EQ graphs do toChris Lattner2004-11-021-5/+18
| | | | | | | | function pointer equivalences. This fixes many problems, including a testcase reduced Prolangs-C++/objects. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17437 91177308-0d34-0410-b5e6-96231b3b80d8
* Substantially cleanup/speedup the eq graphs pass by walking the callgraphChris Lattner2004-11-021-45/+41
| | | | | | | | a DSGraph at a time instead of a function at a time. This is also more correct, though it doesn't seem to fix any programs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17435 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor cleanupsChris Lattner2004-11-021-25/+21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17428 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove more dead methodsChris Lattner2004-11-011-3/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17413 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename FoldedGraph -> DSInfo to be consistent with other passesChris Lattner2004-11-011-4/+4
| | | | | | | delete some dead methods git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17410 91177308-0d34-0410-b5e6-96231b3b80d8
* Get rid of the EquivClassGraphArgsInfo class, and the map that held it.Chris Lattner2004-11-011-7/+8
| | | | | | | We only need one instance of the vector that it contains at a time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17407 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate the cloneGraph methodChris Lattner2004-11-011-8/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17405 91177308-0d34-0410-b5e6-96231b3b80d8
* * Do not refer to ActualCallees in CBU, when we can do it locally.Chris Lattner2004-10-311-27/+40
| | | | | | | | | | | | | | | | | | * *DO NOT* print CBU graphs when asked to print our own. This is just FREAKING confusing and misleading: it's better to not print anything. * Simplify and clean up some code * Add some more paranoia assertion checking code that I found to track down this bug: * Fix a nasty bug that was causing us to crash on Prolangs-C++/objects, where we were missing processing some graphs. This hunk is the bugfix: - if (!I->isExternal() && !FoldedGraphsMap.count(I)) + if (!I->isExternal() && !ValMap.count(I)) urg! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17386 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify graph traversal, improve grammarChris Lattner2004-10-311-10/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17383 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not do horrible things to the CBU graphs. In particular, we do NOT ownChris Lattner2004-10-311-44/+35
| | | | | | | | | | | | the CBU graphs, copy them instead of hacking on the CBU graphs. Also, instead of forwarding request from ECGraphs clients to the CBU graphs clients, service them ourselves. Finally, remove a broken "optimization" git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17378 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix another bug in Prolangs-C++/objectsChris Lattner2004-10-311-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17372 91177308-0d34-0410-b5e6-96231b3b80d8
* Only call getNodeForValue on pointer arguments! this fixes a problem runningChris Lattner2004-10-311-5/+11
| | | | | | | on Prolangs-C++/objects git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17368 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor cleanups:Chris Lattner2004-10-121-23/+20
| | | | | | | | | * fit in 80 lines * Eliminate extra namespaces * Drop llvm:: git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16935 91177308-0d34-0410-b5e6-96231b3b80d8
* Make this buildChris Lattner2004-10-111-5/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16919 91177308-0d34-0410-b5e6-96231b3b80d8
* Moving headersChris Lattner2004-07-071-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14661 91177308-0d34-0410-b5e6-96231b3b80d8
* Complete rewrite of the code that merges DS graphs for equivalence classesVikram S. Adve2004-05-231-0/+428
of functions called at a common call site. The rewrite inlines the resulting graphs bottom-up on the SCCs of the CBU call graph. It also simplifies the merging of equivalence classes by exploiting the fact that functions in non-trivial SCCs are already merged. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13645 91177308-0d34-0410-b5e6-96231b3b80d8