Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Implement the CompleteBU pass | Chris Lattner | 2003-11-13 | 2 | -7/+142 | |
| | | | | llvm-svn: 9964 | |||||
* | Minor code cleanup | Chris Lattner | 2003-11-13 | 1 | -2/+2 | |
| | | | | llvm-svn: 9962 | |||||
* | Disable integer tracking by default | Chris Lattner | 2003-11-13 | 1 | -1/+6 | |
| | | | | llvm-svn: 9960 | |||||
* | Add an initial version of the CompleteBUDataStructures class, which is currently | Chris Lattner | 2003-11-13 | 1 | -0/+75 | |
| | | | | | | identical to the BU pass, but has an accurate call graph llvm-svn: 9956 | |||||
* | Fine-grainify namespaces for this library | Chris Lattner | 2003-11-12 | 10 | -36/+14 | |
| | | | | llvm-svn: 9948 | |||||
* | Add new argument to disable checking | Chris Lattner | 2003-11-12 | 1 | -3/+5 | |
| | | | | llvm-svn: 9922 | |||||
* | Print return nodes for graphs with multiple functions in them correctly | Chris Lattner | 2003-11-12 | 1 | -2/+2 | |
| | | | | llvm-svn: 9914 | |||||
* | 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 | 11 | -6/+46 | |
| | | | | 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 | |||||
* | Add support for memmove | Chris Lattner | 2003-11-09 | 1 | -0/+9 | |
| | | | | llvm-svn: 9824 | |||||
* | Handle bzero and memset in the local analysis, because we were missing the fact | Chris Lattner | 2003-11-08 | 2 | -4/+17 | |
| | | | | | | that memset returns its argument!! llvm-svn: 9811 | |||||
* | This doesn't use DSCallSiteIterator | Chris Lattner | 2003-11-08 | 1 | -1/+1 | |
| | | | | llvm-svn: 9809 | |||||
* | All DSGraphs keep a reference to the targetdata they are created with. This is | Chris Lattner | 2003-11-02 | 3 | -20/+27 | |
| | | | | | | | | 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 copyright header. | John Criswell | 2003-10-21 | 1 | -0/+7 | |
| | | | | llvm-svn: 9321 | |||||
* | Added LLVM copyright notice to Makefiles. | John Criswell | 2003-10-20 | 1 | -0/+8 | |
| | | | | llvm-svn: 9312 | |||||
* | Added LLVM project notice to the top of every C++ source file. | John Criswell | 2003-10-20 | 10 | -0/+70 | |
| | | | | | | Header files will be on the way. llvm-svn: 9298 | |||||
* | Use std::string::size_type for for ColonPos to stop gcc from giving a warning | Alkis Evlogimenos | 2003-10-01 | 1 | -1/+1 | |
| | | | | llvm-svn: 8811 | |||||
* | DOn't crash if program calls the null pointer | Chris Lattner | 2003-09-24 | 1 | -1/+7 | |
| | | | | llvm-svn: 8708 | |||||
* | Functions reachable from the arguments of unresolvable call nodes should | Chris Lattner | 2003-09-20 | 2 | -2/+17 | |
| | | | | | | not have their arguments marked complete llvm-svn: 8639 | |||||
* | The Globals graph must become complete at the end of the BU phase! | Chris Lattner | 2003-09-20 | 1 | -0/+5 | |
| | | | | llvm-svn: 8638 | |||||
* | Do not mark incoming arguments to functions complete if the function is ↵ | Chris Lattner | 2003-09-20 | 1 | -10/+30 | |
| | | | | | | pointed to by a global in the globals graph llvm-svn: 8637 | |||||
* | Make sure to add global variable initializers to the Globals graph! | Chris Lattner | 2003-09-20 | 1 | -15/+69 | |
| | | | | llvm-svn: 8636 | |||||
* | Don't consider incomplete nodes to be typesafe! | Chris Lattner | 2003-09-20 | 1 | -1/+1 | |
| | | | | llvm-svn: 8635 | |||||
* | 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 | |||||
* | Add special case handling for calloc and realloc | Chris Lattner | 2003-09-20 | 1 | -0/+16 | |
| | | | | llvm-svn: 8630 | |||||
* | Switch from using CallInst's to represent call sites to using the LLVM | Chris Lattner | 2003-09-20 | 5 | -23/+35 | |
| | | | | | | | CallSite class. Now we can represent function calls by invoke instructions too! llvm-svn: 8629 | |||||
* | Make this work better for constants that aren't necessarily in ANY graph, ↵ | Chris Lattner | 2003-09-20 | 1 | -4/+15 | |
| | | | | | | such as null pointers llvm-svn: 8628 | |||||
* | Keep track of the number of typed/untyped memory accesses theyre are in the ↵ | Chris Lattner | 2003-09-20 | 1 | -30/+62 | |
| | | | | | | | | program VS: ---------------------------------------------------------------------- llvm-svn: 8611 | |||||
* | Fixed spelling and grammar. | Misha Brukman | 2003-09-11 | 3 | -5/+5 | |
| | | | | 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 | 5 | -3/+6 | |
| | | | | llvm-svn: 7492 | |||||
* | Fix another minor bug | Chris Lattner | 2003-07-26 | 1 | -2/+2 | |
| | | | | llvm-svn: 7340 | |||||
* | Dont' try to parse the colon | Chris Lattner | 2003-07-25 | 1 | -2/+2 | |
| | | | | llvm-svn: 7323 | |||||
* | Add a more general check-flags which can be used to ensure arbitrary flags ↵ | Chris Lattner | 2003-07-25 | 1 | -11/+35 | |
| | | | | | | are set llvm-svn: 7322 | |||||
* | Fix comment. | Vikram S. Adve | 2003-07-22 | 1 | -3/+3 | |
| | | | | llvm-svn: 7227 | |||||
* | Fix typo in call to isUnresolvableFunc, which was breaking the build. | Brian Gaeke | 2003-07-17 | 1 | -1/+1 | |
| | | | | llvm-svn: 7194 | |||||
* | Rematerialize nodes from the globals graph into the current graph | Vikram S. Adve | 2003-07-16 | 1 | -3/+9 | |
| | | | | | | | | | | after all callees are inlined into the current graph. NOTE: There's also a major bug fix for the BU pass in DataStructure.cpp, which ensures that resolvable indirect calls are not moved out to the globals graph, so that they are eventually inlined (if possible). llvm-svn: 7189 | |||||
* | (1) Rematerialize nodes from the globals graph into the current graph | Vikram S. Adve | 2003-07-16 | 1 | -57/+84 | |
| | | | | | | | | | | | | after all callers are inlined into the current graph. (2) Optimize the way a graph is inlined into its callees in the TD phase: (a) Use DSGraph::cloneReachableSubgraph to clone only a subgraph at each call site, for faster inlining. (b) Clone separately for the same callee at different call sites, since only the reachable subgraph is being cloned, not the entire caller graph. llvm-svn: 7188 | |||||
* | 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 | |||||
* | Factor out the test for unresolvable external functions into | Vikram S. Adve | 2003-07-16 | 1 | -14/+19 | |
| | | | | | | | isUnresolvableFunc() (I thought I needed this externally. I don't, but it's still nicer this way.) llvm-svn: 7186 | |||||
* | 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 | |||||
* | Disable incorrect mustalias code | Chris Lattner | 2003-07-02 | 1 | -1/+4 | |
| | | | | llvm-svn: 7087 | |||||
* | Remove space at end of line | Chris Lattner | 2003-07-02 | 1 | -1/+1 | |
| | | | | llvm-svn: 7084 | |||||
* | Fix how we are handling unreachable functions. This DRAMATICALLY improves ↵ | Chris Lattner | 2003-07-02 | 2 | -36/+38 | |
| | | | | | | efficiency llvm-svn: 7082 | |||||
* | Keep track of how many inlinings are performed | Chris Lattner | 2003-07-02 | 1 | -0/+2 | |
| | | | | llvm-svn: 7076 |