aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Analysis/DataStructure
Commit message (Collapse)AuthorAgeFilesLines
...
* Reduce amount of work we do calculating mustaliases if the arg is a globalChris Lattner2003-07-021-11/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7062 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for ParentGraph only when building in debug modeChris Lattner2003-07-021-8/+48
| | | | | | | Minor cleanups, reenable folding of call nodes to external functions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7061 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some functions to the blacklistChris Lattner2003-07-021-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7060 91177308-0d34-0410-b5e6-96231b3b80d8
* Make the BU closure keep track of which actual calls happenChris Lattner2003-07-021-2/+6
| | | | | | | Minor cleanups git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7059 91177308-0d34-0410-b5e6-96231b3b80d8
* Make local pass print out its progressChris Lattner2003-07-021-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7058 91177308-0d34-0410-b5e6-96231b3b80d8
* Rework TD pass to work with the precise call graph constructed by the BU phaseChris Lattner2003-07-012-113/+150
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7031 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not treat global variables as functions! (and assert failing)Chris Lattner2003-07-011-3/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7030 91177308-0d34-0410-b5e6-96231b3b80d8
* Dont' print scalar nodes for ConstantPointerRefsChris Lattner2003-07-011-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7029 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor cleanupsChris Lattner2003-07-011-4/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7027 91177308-0d34-0410-b5e6-96231b3b80d8
* Use the getFunctionNames methodChris Lattner2003-06-301-8/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7008 91177308-0d34-0410-b5e6-96231b3b80d8
* Add new methodChris Lattner2003-06-301-0/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7007 91177308-0d34-0410-b5e6-96231b3b80d8
* Split CallSiteIterator out into DSCallSiteIterator.h, and generalize it a bitChris Lattner2003-06-302-101/+125
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7006 91177308-0d34-0410-b5e6-96231b3b80d8
* Be more const-correctChris Lattner2003-06-301-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7005 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix bug in last checkinChris Lattner2003-06-301-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7003 91177308-0d34-0410-b5e6-96231b3b80d8
* Reimplement the BU closure to collapse all SCC graphs into a single graph.Chris Lattner2003-06-301-242/+52
| | | | | | | Look at all of the code that gets deleted! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7001 91177308-0d34-0410-b5e6-96231b3b80d8
* Handle the case where OldNodeMap == &ScalarMap correctlyChris Lattner2003-06-301-12/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7000 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove dead methodChris Lattner2003-06-301-27/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6999 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not delete the same graph multiple times when freeing memory if graphs ↵Chris Lattner2003-06-301-3/+6
| | | | | | are sharing git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6998 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not multiply delete graphs if functions are sharing graphsChris Lattner2003-06-301-4/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6997 91177308-0d34-0410-b5e6-96231b3b80d8
* Move usages of explicit hash_* datastructures to use typedefsChris Lattner2003-06-303-17/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6996 91177308-0d34-0410-b5e6-96231b3b80d8
* Revamp DSGraphs so that they can support multiple functions in the sameChris Lattner2003-06-306-94/+121
| | | | | | | DSGraph at one time git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6994 91177308-0d34-0410-b5e6-96231b3b80d8
* Adjust for new DSGraph APIChris Lattner2003-06-301-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6993 91177308-0d34-0410-b5e6-96231b3b80d8
* Abstract out the predicate which decides whether a function gets completeChris Lattner2003-06-291-13/+23
| | | | | | | arguments or not... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6987 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix minor bug in previous checkinChris Lattner2003-06-291-3/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6986 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for ensuring that nodes are not incompleteChris Lattner2003-06-291-12/+25
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6985 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for "physical subtyping", which fixes:Chris Lattner2003-06-291-5/+140
| | | | | | | DSGraph/2003-06-29-NodeCollapsing2.ll & DSGraph/PhysicalSubtyping.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6982 91177308-0d34-0410-b5e6-96231b3b80d8
* Add print method to not get silly warning from analyzeChris Lattner2003-06-291-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6981 91177308-0d34-0410-b5e6-96231b3b80d8
* New pass which is useful for writing regression testsChris Lattner2003-06-291-0/+150
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6979 91177308-0d34-0410-b5e6-96231b3b80d8
* Expose must alias information for global variables, implementing: ↵Chris Lattner2003-06-291-46/+86
| | | | | | DSGraph/mustalias.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6973 91177308-0d34-0410-b5e6-96231b3b80d8
* Propagate globals graph from the local to bu to td globals graphs. ThisChris Lattner2003-06-282-4/+5
| | | | | | | fixes bug: DSGraph/buglobals.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6947 91177308-0d34-0410-b5e6-96231b3b80d8
* Drop references to globals who do exist in the globals graph, but are neverChris Lattner2003-06-281-1/+16
| | | | | | | | read or written to. Keep track of how many times this happens. This should be good for deleting things like references to type information in C++ classes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6946 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid double negativesChris Lattner2003-06-282-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6945 91177308-0d34-0410-b5e6-96231b3b80d8
* New pass to perform DSA based optimizations. Initially we just support turningChris Lattner2003-06-281-0/+76
| | | | | | | globals into constants if we can prove it's safe git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6941 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove support for the MultiObject flag, which was fundamentally brokenChris Lattner2003-06-224-14/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6840 91177308-0d34-0410-b5e6-96231b3b80d8
* * Changes to make NodeType be private to DSNode.Chris Lattner2003-06-195-76/+107
| | | | | | | | | * Add new MultiObject flag to DSNode which keeps track of whether or not multiple objects have been merged into the node, allowing must-alias info to be tracked. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6794 91177308-0d34-0410-b5e6-96231b3b80d8
* Nodes get forwarded when they are collapsed currently.Chris Lattner2003-06-161-1/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6696 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove bogus assertion: a node with no referrers could be collapsed if ↵Chris Lattner2003-06-161-2/+0
| | | | | | field-sensitivity was disabled git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6695 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate unnecessary ->get calls that are now automatically handled.Chris Lattner2003-05-291-4/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6397 91177308-0d34-0410-b5e6-96231b3b80d8
* s/convertable/convertible/gMisha Brukman2003-05-201-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6248 91177308-0d34-0410-b5e6-96231b3b80d8
* Add new linkage types to support a real frontendChris Lattner2003-04-161-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5786 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't apply type information to load instructions if it will cause collapsingChris Lattner2003-03-032-6/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5684 91177308-0d34-0410-b5e6-96231b3b80d8
* Adjust to implement new AA interfaceChris Lattner2003-02-262-31/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5638 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix resolution of indirect function calls... whoopsChris Lattner2003-02-141-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5576 91177308-0d34-0410-b5e6-96231b3b80d8
* Mark function edgesChris Lattner2003-02-141-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5571 91177308-0d34-0410-b5e6-96231b3b80d8
* - Eliminate provably non-pointer nodes from graphs.Chris Lattner2003-02-141-5/+22
| | | | | | | | | | | | | | | This helps a lot of testcases, for example: New Time New #Nodes Old Time Old #Nodes 254.gap: 91.1024 21605 91.1397 22657 povray31: 2.7807 8613 3.0152 10338 255.vortex: 1.2034 8153 1.2172 8822 moria: .6756 3150 .7054 3877 300.twolf: .1652 2010 .1851 3270 Typically, testcases which use long and ulong integers a lot get better, f.e. povray above. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5566 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't put integer pointers (longs) into the scalar map.Chris Lattner2003-02-141-0/+10
| | | | | | | This speeds stuff up by 10% on some tests, woot! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5564 91177308-0d34-0410-b5e6-96231b3b80d8
* Hax0r around a deficiency in the Pass infrastructureChris Lattner2003-02-131-2/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5555 91177308-0d34-0410-b5e6-96231b3b80d8
* Use the new tailclip property new added to graphviz CVS to make call nodesChris Lattner2003-02-131-5/+4
| | | | | | | actually intelligable git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5554 91177308-0d34-0410-b5e6-96231b3b80d8
* Move node forwarding code from being inlined to being out-of-line.Chris Lattner2003-02-131-0/+21
| | | | | | | This brings a 11.6% speedup to steens, and a 3.6 overall speedup to ds-aa git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5552 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement a "union-findy" version of DS-Analysis, which eliminates theChris Lattner2003-02-114-238/+126
| | | | | | | Referrers list on DSNodes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5536 91177308-0d34-0410-b5e6-96231b3b80d8