summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/DataStructure/DataStructure.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Don't crash if no ggChris Lattner2003-11-121-1/+1
| | | | llvm-svn: 9913
* Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke2003-11-111-2/+5
| | | | llvm-svn: 9903
* Compute node offsets correctlyChris Lattner2003-11-111-2/+2
| | | | llvm-svn: 9895
* Add new method for computing node mappings. This is used by the pool allocatorChris Lattner2003-11-111-0/+31
| | | | llvm-svn: 9880
* All DSGraphs keep a reference to the targetdata they are created with. This isChris Lattner2003-11-021-9/+14
| | | | | | | | 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. llvm-svn: 9659
* Fix bug: test/Regression/Analysis/DSGraph/2003-11-02-NodeCollapsing.llChris Lattner2003-11-021-6/+8
| | | | llvm-svn: 9658
* Added LLVM project notice to the top of every C++ source file.John Criswell2003-10-201-0/+7
| | | | | | Header files will be on the way. llvm-svn: 9298
* Remove trivially dead nodes was not removing nodes that were dead due to ↵Chris Lattner2003-09-201-0/+14
| | | | | | forwarding! llvm-svn: 8634
* Switch from using CallInst's to represent call sites to using the LLVMChris Lattner2003-09-201-2/+2
| | | | | | | CallSite class. Now we can represent function calls by invoke instructions too! llvm-svn: 8629
* Fixed spelling and grammar.Misha Brukman2003-09-111-3/+3
| | | | llvm-svn: 8478
* Add more verbose commentChris Lattner2003-08-051-10/+9
| | | | llvm-svn: 7610
* Added function mergeInGlobalsGraph which merges in the entire globals graph ↵Sumant Kowshik2003-08-051-0/+29
| | | | | | with the graph of a function llvm-svn: 7606
* DEBUG got moved to Support/Debug.hChris Lattner2003-08-011-0/+1
| | | | llvm-svn: 7492
* Fix comment.Vikram S. Adve2003-07-221-3/+3
| | | | llvm-svn: 7227
* Implement 2 important changes: (1) rematerialization from the globals graph,Vikram S. Adve2003-07-161-65/+250
| | | | | | | | | | | | | | | | | | | | | | | and (2) faster inlining by cloning only reachable nodes. In particular: (1) Added DSGraph::cloneReachableSubgraph and DSGraph::cloneReachableNodes to clone the subgraph reachable from a set of root nodes, into the current graph, merging the global nodes into thos in the current graph. The TD pass now uses this for faster inlining, and so does the next function. (2) Added DSGraph::updateFromGlobalGraph() to rematerialize nodes from the globals graph into the current graph in both BU and TD passes. (3) `I' flags are removed from all nodes in the globals graph, because they are difficult to maintain correctly and are not needed anyway. (4) Aux. function calls are only removed to the globals graph if they will never be resovled. (This is what fixed gap.) The immediate reason is that if we took these out of a function (and moved them to the globals graph) we would need to rematerialize these nodes into the function graph for every function in the BU pass. The longer term problem is that we would need to find a way to remove them from the globals graph iff they have been resolved on all paths through the call graph. llvm-svn: 7187
* Remove globals more aggressively from graphs.Chris Lattner2003-07-031-11/+32
| | | | | | Fix a bug where we removed nodes that were marked U. llvm-svn: 7090
* INCLUDE_PARENT_GRAPH is required!Chris Lattner2003-07-021-21/+4
| | | | llvm-svn: 7088
* 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 llvm-svn: 7061
* Rework TD pass to work with the precise call graph constructed by the BU phaseChris Lattner2003-07-011-0/+3
| | | | llvm-svn: 7031
* Add new methodChris Lattner2003-06-301-0/+17
| | | | llvm-svn: 7007
* Be more const-correctChris Lattner2003-06-301-2/+2
| | | | llvm-svn: 7005
* Fix bug in last checkinChris Lattner2003-06-301-1/+1
| | | | llvm-svn: 7003
* Handle the case where OldNodeMap == &ScalarMap correctlyChris Lattner2003-06-301-12/+7
| | | | llvm-svn: 7000
* Move usages of explicit hash_* datastructures to use typedefsChris Lattner2003-06-301-7/+6
| | | | llvm-svn: 6996
* Revamp DSGraphs so that they can support multiple functions in the sameChris Lattner2003-06-301-40/+50
| | | | | | DSGraph at one time llvm-svn: 6994
* Fix minor bug in previous checkinChris Lattner2003-06-291-3/+1
| | | | llvm-svn: 6986
* Add support for "physical subtyping", which fixes:Chris Lattner2003-06-291-5/+140
| | | | | | DSGraph/2003-06-29-NodeCollapsing2.ll & DSGraph/PhysicalSubtyping.ll llvm-svn: 6982
* Avoid double negativesChris Lattner2003-06-281-2/+2
| | | | llvm-svn: 6945
* Remove support for the MultiObject flag, which was fundamentally brokenChris Lattner2003-06-221-11/+0
| | | | llvm-svn: 6840
* * Changes to make NodeType be private to DSNode.Chris Lattner2003-06-191-32/+41
| | | | | | | | * 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. llvm-svn: 6794
* Remove bogus assertion: a node with no referrers could be collapsed if ↵Chris Lattner2003-06-161-2/+0
| | | | | | field-sensitivity was disabled llvm-svn: 6695
* s/convertable/convertible/gMisha Brukman2003-05-201-2/+2
| | | | llvm-svn: 6248
* Don't apply type information to load instructions if it will cause collapsingChris Lattner2003-03-031-5/+6
| | | | llvm-svn: 5684
* Fix resolution of indirect function calls... whoopsChris Lattner2003-02-141-1/+1
| | | | llvm-svn: 5576
* - 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. llvm-svn: 5566
* 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 llvm-svn: 5552
* Implement a "union-findy" version of DS-Analysis, which eliminates theChris Lattner2003-02-111-227/+120
| | | | | | Referrers list on DSNodes. llvm-svn: 5536
* Modest speedup which seems to help steens quite a bit on large graphsChris Lattner2003-02-101-1/+2
| | | | llvm-svn: 5532
* Fix problem breaking GAP, use hasNoReferrers moreChris Lattner2003-02-101-4/+4
| | | | llvm-svn: 5530
* * Fix a bug where global incompleteness marking would not mark the globalChris Lattner2003-02-091-8/+5
| | | | | | | | itself incomplete! * Allow incompleteness callers to specify they don't want globals to be considered sources of incompleteness. llvm-svn: 5513
* Add a special case for main because we know it's incoming arguments don't aliasChris Lattner2003-02-081-1/+1
| | | | llvm-svn: 5511
* Fix an assertion failureChris Lattner2003-02-061-2/+2
| | | | llvm-svn: 5496
* Implement optimization for direct function call case. This dramaticallyChris Lattner2003-02-051-11/+25
| | | | | | | reduces the number of function nodes created and speeds up analysis by about 10% overall. llvm-svn: 5495
* Add sanity checkChris Lattner2003-02-041-0/+1
| | | | llvm-svn: 5489
* * Fix a bug introduced in the last checkin wrt Stack markersChris Lattner2003-02-031-8/+6
| | | | | | * Make cloning more efficient in the process... llvm-svn: 5479
* Implement the globals graph!Chris Lattner2003-02-031-128/+163
| | | | llvm-svn: 5477
* Fix a bug where we would delete neccesary calls in bu passChris Lattner2003-02-011-1/+2
| | | | llvm-svn: 5465
* Fix a bug where we would incorrectly delete globals which had edges to alive ↵Chris Lattner2003-02-011-3/+0
| | | | | | | | | nodes in a graph in the t-d pass. This slows down the TD pass by quite a bit (1/3), but is needed for correctness. llvm-svn: 5464
* Delete nodes more efficientlyChris Lattner2003-02-011-6/+4
| | | | llvm-svn: 5463
* Remove dead nodes more efficientlyChris Lattner2003-02-011-1/+2
| | | | llvm-svn: 5462
OpenPOWER on IntegriCloud