Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Don't crash if no gg | Chris Lattner | 2003-11-12 | 1 | -1/+1 | |
| | | | | llvm-svn: 9913 | |||||
* | Put all LLVM code into the llvm namespace, as per bug 109. | Brian Gaeke | 2003-11-11 | 1 | -2/+5 | |
| | | | | llvm-svn: 9903 | |||||
* | Compute node offsets correctly | Chris Lattner | 2003-11-11 | 1 | -2/+2 | |
| | | | | llvm-svn: 9895 | |||||
* | Add new method for computing node mappings. This is used by the pool allocator | Chris Lattner | 2003-11-11 | 1 | -0/+31 | |
| | | | | llvm-svn: 9880 | |||||
* | All DSGraphs keep a reference to the targetdata they are created with. This is | Chris Lattner | 2003-11-02 | 1 | -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.ll | Chris Lattner | 2003-11-02 | 1 | -6/+8 | |
| | | | | llvm-svn: 9658 | |||||
* | Added LLVM project notice to the top of every C++ source file. | John Criswell | 2003-10-20 | 1 | -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 Lattner | 2003-09-20 | 1 | -0/+14 | |
| | | | | | | forwarding! llvm-svn: 8634 | |||||
* | Switch from using CallInst's to represent call sites to using the LLVM | Chris Lattner | 2003-09-20 | 1 | -2/+2 | |
| | | | | | | | CallSite class. Now we can represent function calls by invoke instructions too! llvm-svn: 8629 | |||||
* | Fixed spelling and grammar. | Misha Brukman | 2003-09-11 | 1 | -3/+3 | |
| | | | | llvm-svn: 8478 | |||||
* | Add more verbose comment | Chris Lattner | 2003-08-05 | 1 | -10/+9 | |
| | | | | llvm-svn: 7610 | |||||
* | Added function mergeInGlobalsGraph which merges in the entire globals graph ↵ | Sumant Kowshik | 2003-08-05 | 1 | -0/+29 | |
| | | | | | | with the graph of a function llvm-svn: 7606 | |||||
* | DEBUG got moved to Support/Debug.h | Chris Lattner | 2003-08-01 | 1 | -0/+1 | |
| | | | | llvm-svn: 7492 | |||||
* | Fix comment. | Vikram S. Adve | 2003-07-22 | 1 | -3/+3 | |
| | | | | llvm-svn: 7227 | |||||
* | Implement 2 important changes: (1) rematerialization from the globals graph, | Vikram S. Adve | 2003-07-16 | 1 | -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 Lattner | 2003-07-03 | 1 | -11/+32 | |
| | | | | | | Fix a bug where we removed nodes that were marked U. llvm-svn: 7090 | |||||
* | INCLUDE_PARENT_GRAPH is required! | Chris Lattner | 2003-07-02 | 1 | -21/+4 | |
| | | | | llvm-svn: 7088 | |||||
* | Add support for ParentGraph only when building in debug mode | Chris Lattner | 2003-07-02 | 1 | -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 phase | Chris Lattner | 2003-07-01 | 1 | -0/+3 | |
| | | | | llvm-svn: 7031 | |||||
* | Add new method | Chris Lattner | 2003-06-30 | 1 | -0/+17 | |
| | | | | llvm-svn: 7007 | |||||
* | Be more const-correct | Chris Lattner | 2003-06-30 | 1 | -2/+2 | |
| | | | | llvm-svn: 7005 | |||||
* | Fix bug in last checkin | Chris Lattner | 2003-06-30 | 1 | -1/+1 | |
| | | | | llvm-svn: 7003 | |||||
* | Handle the case where OldNodeMap == &ScalarMap correctly | Chris Lattner | 2003-06-30 | 1 | -12/+7 | |
| | | | | llvm-svn: 7000 | |||||
* | Move usages of explicit hash_* datastructures to use typedefs | Chris Lattner | 2003-06-30 | 1 | -7/+6 | |
| | | | | llvm-svn: 6996 | |||||
* | Revamp DSGraphs so that they can support multiple functions in the same | Chris Lattner | 2003-06-30 | 1 | -40/+50 | |
| | | | | | | DSGraph at one time llvm-svn: 6994 | |||||
* | Fix minor bug in previous checkin | Chris Lattner | 2003-06-29 | 1 | -3/+1 | |
| | | | | llvm-svn: 6986 | |||||
* | Add support for "physical subtyping", which fixes: | Chris Lattner | 2003-06-29 | 1 | -5/+140 | |
| | | | | | | DSGraph/2003-06-29-NodeCollapsing2.ll & DSGraph/PhysicalSubtyping.ll llvm-svn: 6982 | |||||
* | Avoid double negatives | Chris Lattner | 2003-06-28 | 1 | -2/+2 | |
| | | | | llvm-svn: 6945 | |||||
* | Remove support for the MultiObject flag, which was fundamentally broken | Chris Lattner | 2003-06-22 | 1 | -11/+0 | |
| | | | | llvm-svn: 6840 | |||||
* | * Changes to make NodeType be private to DSNode. | Chris Lattner | 2003-06-19 | 1 | -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 Lattner | 2003-06-16 | 1 | -2/+0 | |
| | | | | | | field-sensitivity was disabled llvm-svn: 6695 | |||||
* | s/convertable/convertible/g | Misha Brukman | 2003-05-20 | 1 | -2/+2 | |
| | | | | llvm-svn: 6248 | |||||
* | Don't apply type information to load instructions if it will cause collapsing | Chris Lattner | 2003-03-03 | 1 | -5/+6 | |
| | | | | llvm-svn: 5684 | |||||
* | Fix resolution of indirect function calls... whoops | Chris Lattner | 2003-02-14 | 1 | -1/+1 | |
| | | | | llvm-svn: 5576 | |||||
* | - Eliminate provably non-pointer nodes from graphs. | Chris Lattner | 2003-02-14 | 1 | -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 Lattner | 2003-02-13 | 1 | -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 the | Chris Lattner | 2003-02-11 | 1 | -227/+120 | |
| | | | | | | Referrers list on DSNodes. llvm-svn: 5536 | |||||
* | Modest speedup which seems to help steens quite a bit on large graphs | Chris Lattner | 2003-02-10 | 1 | -1/+2 | |
| | | | | llvm-svn: 5532 | |||||
* | Fix problem breaking GAP, use hasNoReferrers more | Chris Lattner | 2003-02-10 | 1 | -4/+4 | |
| | | | | llvm-svn: 5530 | |||||
* | * Fix a bug where global incompleteness marking would not mark the global | Chris Lattner | 2003-02-09 | 1 | -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 alias | Chris Lattner | 2003-02-08 | 1 | -1/+1 | |
| | | | | llvm-svn: 5511 | |||||
* | Fix an assertion failure | Chris Lattner | 2003-02-06 | 1 | -2/+2 | |
| | | | | llvm-svn: 5496 | |||||
* | Implement optimization for direct function call case. This dramatically | Chris Lattner | 2003-02-05 | 1 | -11/+25 | |
| | | | | | | | reduces the number of function nodes created and speeds up analysis by about 10% overall. llvm-svn: 5495 | |||||
* | Add sanity check | Chris Lattner | 2003-02-04 | 1 | -0/+1 | |
| | | | | llvm-svn: 5489 | |||||
* | * Fix a bug introduced in the last checkin wrt Stack markers | Chris Lattner | 2003-02-03 | 1 | -8/+6 | |
| | | | | | | * Make cloning more efficient in the process... llvm-svn: 5479 | |||||
* | Implement the globals graph! | Chris Lattner | 2003-02-03 | 1 | -128/+163 | |
| | | | | llvm-svn: 5477 | |||||
* | Fix a bug where we would delete neccesary calls in bu pass | Chris Lattner | 2003-02-01 | 1 | -1/+2 | |
| | | | | llvm-svn: 5465 | |||||
* | Fix a bug where we would incorrectly delete globals which had edges to alive ↵ | Chris Lattner | 2003-02-01 | 1 | -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 efficiently | Chris Lattner | 2003-02-01 | 1 | -6/+4 | |
| | | | | llvm-svn: 5463 | |||||
* | Remove dead nodes more efficiently | Chris Lattner | 2003-02-01 | 1 | -1/+2 | |
| | | | | llvm-svn: 5462 |