| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | Split CallSiteIterator out into DSCallSiteIterator.h, and generalize it a bit | Chris Lattner | 2003-06-30 | 1 | -101/+7 | |
| | | | | | llvm-svn: 7006 | |||||
| * | Reimplement the BU closure to collapse all SCC graphs into a single graph. | Chris Lattner | 2003-06-30 | 1 | -242/+52 | |
| | | | | | | | Look at all of the code that gets deleted! llvm-svn: 7001 | |||||
| * | Revamp DSGraphs so that they can support multiple functions in the same | Chris Lattner | 2003-06-30 | 1 | -11/+11 | |
| | | | | | | | DSGraph at one time llvm-svn: 6994 | |||||
| * | Propagate globals graph from the local to bu to td globals graphs. This | Chris Lattner | 2003-06-28 | 1 | -2/+3 | |
| | | | | | | | fixes bug: DSGraph/buglobals.ll llvm-svn: 6947 | |||||
| * | * Changes to make NodeType be private to DSNode. | Chris Lattner | 2003-06-19 | 1 | -1/+1 | |
| | | | | | | | | | * 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 | |||||
| * | Implement optimization for direct function call case. This dramatically | Chris Lattner | 2003-02-05 | 1 | -16/+28 | |
| | | | | | | | | reduces the number of function nodes created and speeds up analysis by about 10% overall. llvm-svn: 5495 | |||||
| * | Add better debug output | Chris Lattner | 2003-02-03 | 1 | -12/+20 | |
| | | | | | llvm-svn: 5476 | |||||
| * | Change DSGraph stuff to use hash_(set|map) instead of std::(set|map) | Chris Lattner | 2003-02-01 | 1 | -8/+9 | |
| | | | | | | | This change provides a small (3%) but consistent speedup llvm-svn: 5460 | |||||
| * | Remove using declarations | Chris Lattner | 2003-02-01 | 1 | -2/+1 | |
| | | | | | llvm-svn: 5456 | |||||
| * | Add functions to the ban list | Chris Lattner | 2003-01-31 | 1 | -1/+2 | |
| | | | | | llvm-svn: 5450 | |||||
| * | * Eliminate boolean arguments in favor of using enums | Chris Lattner | 2003-01-23 | 1 | -6/+6 | |
| | | | | | | | * T-D pass now eliminates unreachable globals llvm-svn: 5419 | |||||
| * | Fix logical error in TD pass: we should clear Mod/Ref bits of each caller | Vikram S. Adve | 2002-11-27 | 1 | -4/+7 | |
| | | | | | | | | before inlining their graphs into a function. To support this, added flags to CloneFlags to strip/keep Mod/Ref bits. llvm-svn: 4836 | |||||
| * | Add MaxSCC statistics | Chris Lattner | 2002-11-17 | 1 | -6/+25 | |
| | | | | | llvm-svn: 4722 | |||||
| * | Inline graphs from outside the SCC into the SCC before SCC resolution starts | Chris Lattner | 2002-11-12 | 1 | -4/+104 | |
| | | | | | llvm-svn: 4701 | |||||
| * | Complete rewrite of BU code to use Tarjan's SCC finding algorithm to drive | Chris Lattner | 2002-11-11 | 1 | -265/+351 | |
| | | | | | | | the algorithm instead of hand coded depth first iteration llvm-svn: 4694 | |||||
| * | Fix infinite loop in the BU algorithm. Unfortunately this dies a serious | Chris Lattner | 2002-11-11 | 1 | -30/+177 | |
| | | | | | | | death when handling moderately sized SCC's, but what can you do llvm-svn: 4689 | |||||
| * | * Bottom-Up graphs print the Aux call vector | Chris Lattner | 2002-11-10 | 1 | -16/+42 | |
| | | | | | | | | | | | * Significantly improve DEBUG output * Aggressively fold calls together if we inlined a graph that provides call nodes. * Add a bailout if the current graph has over 200 call nodes in it, this is a really whacky case that should never happen. llvm-svn: 4675 | |||||
| * | eliminate the ability to remove global nodes from deadNodeElminate... for now. | Chris Lattner | 2002-11-09 | 1 | -1/+1 | |
| | | | | | | | | This slows stuff down a bit, but it should get much better before it gets any worse. llvm-svn: 4666 | |||||
| * | Add globals graphs to all three passes | Chris Lattner | 2002-11-09 | 1 | -11/+15 | |
| | | | | | llvm-svn: 4663 | |||||
| * | Clean up DSGraph::removeDeadNodes interface | Chris Lattner | 2002-11-09 | 1 | -7/+1 | |
| | | | | | llvm-svn: 4660 | |||||
| * | Make removeTriviallyDeadNodes a private interface of DSGraph | Chris Lattner | 2002-11-09 | 1 | -1/+2 | |
| | | | | | llvm-svn: 4659 | |||||
| * | ONLY merge in the aux call sites, this causes a HUGE speedup | Chris Lattner | 2002-11-08 | 1 | -1/+2 | |
| | | | | | llvm-svn: 4640 | |||||
| * | Remove gunk used by broken TD pass | Chris Lattner | 2002-11-08 | 1 | -12/+4 | |
| | | | | | llvm-svn: 4632 | |||||
| * | Instead of using a bool that constant has to be explained, use a self | Chris Lattner | 2002-11-07 | 1 | -2/+2 | |
| | | | | | | | explanitory enum instead. llvm-svn: 4600 | |||||
| * | Implement a new mergeInGraph method, which basically factors code out of | Chris Lattner | 2002-11-07 | 1 | -44/+4 | |
| | | | | | | | | | | | | | the BU class. This will be used by the IPModRef class to do stuff, eventually perhaps the TD pass will use it also. Speaking of the TD pass, this also eliminates the self recursive case, which was broken, and couldn't occur anyway. llvm-svn: 4599 | |||||
| * | Rename DataStructureAnalysis namespace to DS | Chris Lattner | 2002-11-07 | 1 | -7/+1 | |
| | | | | | llvm-svn: 4596 | |||||
| * | Delete "StripScalars" argument to cloneInto method | Chris Lattner | 2002-11-06 | 1 | -1/+0 | |
| | | | | | llvm-svn: 4560 | |||||
| * | Give a better error message in an unhandled case | Chris Lattner | 2002-11-04 | 1 | -1/+8 | |
| | | | | | llvm-svn: 4521 | |||||
| * | Rename ValueMap to ScalarMap | Chris Lattner | 2002-11-03 | 1 | -3/+3 | |
| | | | | | llvm-svn: 4516 | |||||
| * | Oops, this was not meant to be checked in | Chris Lattner | 2002-11-02 | 1 | -2/+1 | |
| | | | | | llvm-svn: 4489 | |||||
| * | Stop representing scalars as explicit nodes in the graph. Now the only | Chris Lattner | 2002-11-02 | 1 | -13/+11 | |
| | | | | | | | | | | nodes in the graph are memory objects, which is very nice. This also greatly reduces the size and memory footprint for DSGraphs. For example, the local DSGraph for llu went from 65 to 13 nodes with this change. As a side bonus, dot seems to lay out the graphs slightly better too. :) llvm-svn: 4488 | |||||
| * | Add a fixme | Chris Lattner | 2002-10-31 | 1 | -0/+2 | |
| | | | | | llvm-svn: 4479 | |||||
| * | The callee is not correct, and confuses the TD pass. Null it out. | Chris Lattner | 2002-10-22 | 1 | -0/+1 | |
| | | | | | llvm-svn: 4259 | |||||
| * | Delete unused arguments to DSGraph::cloneInto method | Chris Lattner | 2002-10-21 | 1 | -3/+1 | |
| | | | | | llvm-svn: 4253 | |||||
| * | - Add "ResolvingCaller" to the CallSite record. This keeps track of which | Chris Lattner | 2002-10-21 | 1 | -1/+3 | |
| | | | | | | | | | function was finally able to resolve the function call. Adding this allows the TD pass to actually work right! - Temporarily disable dead node pruning. This will be reenabled soon. llvm-svn: 4252 | |||||
| * | - Make DSCallSite not inherit from std::vector. Renamed methods slightly. | Chris Lattner | 2002-10-21 | 1 | -8/+9 | |
| | | | | | | | | | Make copy ctor have two versions to avoid dealing with conditional template argument. DSCallSite ctor now takes all arguments instead of taking one and being populated later. llvm-svn: 4240 | |||||
| * | Split some long lines | Chris Lattner | 2002-10-20 | 1 | -3/+4 | |
| | | | | | llvm-svn: 4237 | |||||
| * | Remove spurious caller pointer in DSCallSite. | Vikram S. Adve | 2002-10-20 | 1 | -6/+7 | |
| | | | | | | | Also add functions to access pointer argument nodes cleanly. llvm-svn: 4235 | |||||
| * | Avoid extra callSite copy | Chris Lattner | 2002-10-20 | 1 | -1/+1 | |
| | | | | | llvm-svn: 4232 | |||||
| * | Added a first-class representation for each call site that can be | Vikram S. Adve | 2002-10-20 | 1 | -11/+12 | |
| | | | | | | | | | | used in the DS graphs. Essentially, what was vector<DSNodeHandle> before is now a DSCallSite with the same vector, plus pointers to the CallInst and the caller Function. The special-purpose class BUDataStructure::CallSite is no longer needed. llvm-svn: 4228 | |||||
| * | * Make the DSGraph cloner automatically merge global nodes | Chris Lattner | 2002-10-17 | 1 | -34/+0 | |
| | | | | | | | | | * BUClosure doesn't have to worry about global nodes * TDClosure now works with global nodes * Reenable DNE on TD pass, now that globals work right llvm-svn: 4220 | |||||
| * | Remove obsolete code | Chris Lattner | 2002-10-17 | 1 | -26/+0 | |
| | | | | | llvm-svn: 4218 | |||||
| * | * Add data structures and code to track the call sites for each function | Chris Lattner | 2002-10-17 | 1 | -2/+8 | |
| | | | | | llvm-svn: 4213 | |||||
| * | Prune function nodes that are no longer referenced due to inlining | Chris Lattner | 2002-10-03 | 1 | -0/+1 | |
| | | | | | llvm-svn: 4036 | |||||
| * | Reimplement/port the Bottom Up Closure pass | Chris Lattner | 2002-10-03 | 1 | -34/+52 | |
| | | | | | llvm-svn: 4031 | |||||
| * | Checkin some major reworks of data structure analysis. This is not done, | Chris Lattner | 2002-10-01 | 1 | -1/+4 | |
| | | | | | | | | nor does it work very well, but I need to get it checked in before I break the tree unintentionally. llvm-svn: 3996 | |||||
| * | - Do not expose ::ID from any of the analyses anymore. | Chris Lattner | 2002-08-21 | 1 | -1/+0 | |
| | | | | | llvm-svn: 3416 | |||||
| * | Minor changes to DEBUG()'s | Chris Lattner | 2002-08-07 | 1 | -1/+3 | |
| | | | | | llvm-svn: 3261 | |||||
| * | Changes to be GCC3.1 friendly | Chris Lattner | 2002-07-31 | 1 | -1/+1 | |
| | | | | | llvm-svn: 3186 | |||||
| * | Use a separate globals graph to hold externally visible nodes. | Vikram S. Adve | 2002-07-30 | 1 | -43/+78 | |
| | | | | | | | | | | This changes both the bottom-up and top-down propagation so that globals and other external objects do not have to appear in every function, but only in functions in which they are referenced or they can be used to access something else that is referenced. llvm-svn: 3170 | |||||

