Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | changes to make it compatible with 64bit gcc | Anand Shukla | 2002-06-25 | 5 | -64/+75 | |
| | | | | llvm-svn: 2789 | |||||
* | *** empty log message *** | Chris Lattner | 2002-06-25 | 4 | -86/+80 | |
| | | | | llvm-svn: 2777 | |||||
* | Split ConstantVals.h into Constant.h and Constants.h | Chris Lattner | 2002-04-28 | 1 | -1/+1 | |
| | | | | llvm-svn: 2378 | |||||
* | Fix signed/unsigned comparison warning | Chris Lattner | 2002-04-28 | 1 | -1/+1 | |
| | | | | llvm-svn: 2350 | |||||
* | Add support for tracking array allocations | Chris Lattner | 2002-04-27 | 2 | -2/+13 | |
| | | | | llvm-svn: 2328 | |||||
* | Allow the inline limit to be modified on the commandline for debugging | Chris Lattner | 2002-04-27 | 1 | -1/+6 | |
| | | | | llvm-svn: 2327 | |||||
* | Print argument scalars as ellipses instead of boxes | Chris Lattner | 2002-04-18 | 1 | -1/+2 | |
| | | | | llvm-svn: 2293 | |||||
* | Inline indirect function calls that are only capable of calling one function | Chris Lattner | 2002-04-17 | 2 | -10/+13 | |
| | | | | llvm-svn: 2275 | |||||
* | Make data structure acurately get ALL edges, even loads of null fields of | Chris Lattner | 2002-04-17 | 3 | -29/+30 | |
| | | | | | | | | nodes that are not shadow nodes This fixes em3d to be _correct_ if not optimial llvm-svn: 2274 | |||||
* | * Remove the concept of a critical shadow node | Chris Lattner | 2002-04-16 | 5 | -55/+79 | |
| | | | | | | | | * Make the function pointer argument explicit for a call nodes * Eliminate unreachable global values * Merge call nodes that are identical llvm-svn: 2266 | |||||
* | * Eliminate ArgDSNode's completely, now rely on scalar map | Chris Lattner | 2002-04-16 | 5 | -100/+94 | |
| | | | | | | | | | * Fold call nodes that are indistinguishable for each other. This is a big win for external functions like sqrt, which would multiply dramatically before. * Global nodes with no edges to or from them are now eliminated from the graph. llvm-svn: 2257 | |||||
* | Move FunctionArgument out of iOther.h into Argument.h and rename class to | Chris Lattner | 2002-04-09 | 2 | -9/+12 | |
| | | | | | | be 'Argument' instead of FunctionArgument. llvm-svn: 2216 | |||||
* | Add explicit #includes of Function.h to make up for the removed #include | Chris Lattner | 2002-04-09 | 1 | -0/+1 | |
| | | | | | | in iOther.h llvm-svn: 2209 | |||||
* | Add #includes to make up for #includes pruned out of header files. | Chris Lattner | 2002-04-09 | 1 | -0/+2 | |
| | | | | llvm-svn: 2207 | |||||
* | Play around with #includes | Chris Lattner | 2002-04-08 | 2 | -4/+1 | |
| | | | | llvm-svn: 2174 | |||||
* | Call nodes are never equivalent | Chris Lattner | 2002-04-04 | 1 | -3/+4 | |
| | | | | | | Shadow nodes are never critical. llvm-svn: 2102 | |||||
* | Add hack to get timing of analysis | Chris Lattner | 2002-04-04 | 1 | -0/+23 | |
| | | | | llvm-svn: 2101 | |||||
* | * Eliminate commented out code | Chris Lattner | 2002-04-04 | 1 | -10/+4 | |
| | | | | | | | * Do not demand a shadow node when resolving * Raise arbitrary inline limit llvm-svn: 2100 | |||||
* | Support resolving function arguments/return values to pointers that index | Chris Lattner | 2002-04-01 | 1 | -5/+15 | |
| | | | | | | into other objects. llvm-svn: 2094 | |||||
* | Avoid incorrectly adding null values to the scalar map! | Chris Lattner | 2002-04-01 | 1 | -0/+1 | |
| | | | | llvm-svn: 2085 | |||||
* | Critical shadow nodes no do not know their parent explictly. | Chris Lattner | 2002-04-01 | 1 | -4/+2 | |
| | | | | llvm-svn: 2084 | |||||
* | Minor cleanups (use dyn_cast instead of testing manually) | Chris Lattner | 2002-04-01 | 1 | -6/+7 | |
| | | | | | | Shadow nodes now don't explicitly know their parent. llvm-svn: 2083 | |||||
* | Allow merging of identical call nodes. Make the shadow node pointed to | Chris Lattner | 2002-04-01 | 1 | -4/+18 | |
| | | | | | | by the call node noncritical before the call is destroyed. llvm-svn: 2082 | |||||
* | Increase limit for perimeter | Chris Lattner | 2002-04-01 | 1 | -1/+1 | |
| | | | | llvm-svn: 2081 | |||||
* | Unify the destruction code used for node pairs vs normal nodes. This was | Chris Lattner | 2002-03-31 | 1 | -35/+36 | |
| | | | | | | | | causing a problem before because global values with incoming edges didn't copy the incoming edges to the node they were being merged from, causing the poolalloc pass to die. llvm-svn: 2079 | |||||
* | * Move the isEquivalentTo implementations here. They can probably be put | Chris Lattner | 2002-03-31 | 1 | -1/+39 | |
| | | | | | | | someplace nicer in the file though. * Add new dump method for debugging llvm-svn: 2064 | |||||
* | Print out the instruction instead of just the address! | Chris Lattner | 2002-03-31 | 1 | -1/+3 | |
| | | | | llvm-svn: 2063 | |||||
* | * Move isEquivalentTo implementations to NodeImpl | Chris Lattner | 2002-03-31 | 1 | -56/+91 | |
| | | | | | | | * Implement a new form of node folding to catch cases missed in Addtree * Add removeIndistinguishableNodePairs to merge calls (todo) and globals llvm-svn: 2062 | |||||
* | * Convert CallMap to be a vector, because the keys can change, and the map | Chris Lattner | 2002-03-31 | 1 | -8/+45 | |
| | | | | | | | | doesn't resort! * Be more generous with the cached matches that we allow now. * Recursive calls should all work now! llvm-svn: 2061 | |||||
* | Implement getEscapingAllocations & getNonEscapingAllocations | Chris Lattner | 2002-03-28 | 1 | -24/+61 | |
| | | | | llvm-svn: 2021 | |||||
* | * Rename UnlinkUndistinguishableShadowNodes & RemoveUnreachableShadowNodes | Chris Lattner | 2002-03-28 | 3 | -15/+16 | |
| | | | | | | | | to reflect that they can eliminate arbitrary nodes. * Rename the ShadowNodeEliminate.cpp file to EliminateNodes.cpp for the same reason llvm-svn: 2020 | |||||
* | Ooops, I did such a great job pruning nodes, that I accidentally deleted | Chris Lattner | 2002-03-28 | 1 | -1/+2 | |
| | | | | | | ALL allocation nodes... hrm... bad. llvm-svn: 2018 | |||||
* | Many changes | Chris Lattner | 2002-03-28 | 6 | -317/+386 | |
| | | | | | | | | | | | | | * Simplify a lot of the inlining stuff. There are still problems, but not many * Break up the Function representation to have a vector for every different node type so it is fast to find nodes of a particular flavor. * Do more intelligent merging of call values * Allow elimination of unreachable shadow and allocation nodes * Generalize indistinguishability testing to allow merging of identical calls. * Increase shadow node merging power llvm-svn: 2010 | |||||
* | * Add #define to enabled debug messages | Chris Lattner | 2002-03-27 | 1 | -12/+15 | |
| | | | | | | | | | * Move removeEdgesTo to be a member of DSNode * Implement (but #ifdef out) the new, spiffier, method of determining shadow node equivalence. This cannot be enabled until more is implemented. llvm-svn: 2004 | |||||
* | * Implement DSNode::removeAllIncomingEdges | Chris Lattner | 2002-03-27 | 1 | -6/+20 | |
| | | | | | | | | * Implement Critical Shadow node handling * Implement routines to determine whether an allocation node is a malloc or alloca llvm-svn: 2003 | |||||
* | * Add critical node support | Chris Lattner | 2002-03-27 | 1 | -6/+20 | |
| | | | | | | * Optimize graph after building it. This should be unneccesary in the future llvm-svn: 2002 | |||||
* | * Destroy alloca nodes when a graph gets inlined | Chris Lattner | 2002-03-27 | 1 | -2/+32 | |
| | | | | | | | * Add links to all subtrees when a shadow node gets resolved * Add critical node handling llvm-svn: 2001 | |||||
* | * Optimizers return true on change | Chris Lattner | 2002-03-27 | 1 | -9/+83 | |
| | | | | | | * Implement indistinguishable shadow node elimination llvm-svn: 1999 | |||||
* | Fix long line | Chris Lattner | 2002-03-27 | 1 | -3/+5 | |
| | | | | llvm-svn: 1998 | |||||
* | * Because of optimization, the shadow nodes between arguments might get | Chris Lattner | 2002-03-27 | 1 | -13/+14 | |
| | | | | | | | removed. Check to see if they are there. * Repeat optimizations while changing llvm-svn: 1997 | |||||
* | Initial checkin of Datastructure analysis. | Chris Lattner | 2002-03-26 | 7 | -0/+1329 | |
Has bugs, but shouldn't crash in theory. llvm-svn: 1994 |