Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Remove dead method | Chris Lattner | 2003-06-30 | 1 | -27/+0 | |
| | | | | llvm-svn: 6999 | |||||
* | Do not multiply delete graphs if functions are sharing graphs | Chris Lattner | 2003-06-30 | 1 | -4/+6 | |
| | | | | llvm-svn: 6997 | |||||
* | Revamp DSGraphs so that they can support multiple functions in the same | Chris Lattner | 2003-06-30 | 1 | -4/+8 | |
| | | | | | | DSGraph at one time llvm-svn: 6994 | |||||
* | Abstract out the predicate which decides whether a function gets complete | Chris Lattner | 2003-06-29 | 1 | -13/+23 | |
| | | | | | | arguments or not... llvm-svn: 6987 | |||||
* | Propagate globals graph from the local to bu to td globals graphs. This | Chris Lattner | 2003-06-28 | 1 | -2/+2 | |
| | | | | | | fixes bug: DSGraph/buglobals.ll llvm-svn: 6947 | |||||
* | Remove support for the MultiObject flag, which was fundamentally broken | Chris Lattner | 2003-06-22 | 1 | -0/+1 | |
| | | | | llvm-svn: 6840 | |||||
* | Implement a "union-findy" version of DS-Analysis, which eliminates the | Chris Lattner | 2003-02-11 | 1 | -9/+3 | |
| | | | | | | Referrers list on DSNodes. llvm-svn: 5536 | |||||
* | Rearrange code | Chris Lattner | 2003-02-10 | 1 | -11/+13 | |
| | | | | llvm-svn: 5527 | |||||
* | Fix major bugs in incompleteness marking that were pessimizing results | Chris Lattner | 2003-02-09 | 1 | -96/+101 | |
| | | | | llvm-svn: 5515 | |||||
* | Fix a bug where we would mark the callees arguments incomplete if the caller ↵ | Chris Lattner | 2003-02-08 | 1 | -2/+2 | |
| | | | | | | was external. llvm-svn: 5510 | |||||
* | Implement optimization for direct function call case. This dramatically | Chris Lattner | 2003-02-05 | 1 | -9/+14 | |
| | | | | | | | reduces the number of function nodes created and speeds up analysis by about 10% overall. llvm-svn: 5495 | |||||
* | Make the TD pass not include all of the call nodes from the local pass, | Chris Lattner | 2003-02-04 | 1 | -0/+1 | |
| | | | | | | eliminating incomplete markers from them llvm-svn: 5490 | |||||
* | Hack to work around deficiency in pass infrastructure | Chris Lattner | 2003-02-03 | 1 | -3/+9 | |
| | | | | llvm-svn: 5485 | |||||
* | Change DSGraph stuff to use hash_(set|map) instead of std::(set|map) | Chris Lattner | 2003-02-01 | 1 | -3/+3 | |
| | | | | | | This change provides a small (3%) but consistent speedup llvm-svn: 5460 | |||||
* | * Eliminate boolean arguments in favor of using enums | Chris Lattner | 2003-01-23 | 1 | -2/+3 | |
| | | | | | | * 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 | -2/+3 | |
| | | | | | | | before inlining their graphs into a function. To support this, added flags to CloneFlags to strip/keep Mod/Ref bits. llvm-svn: 4836 | |||||
* | Handle a mismatch between # function args and call site args | Chris Lattner | 2002-11-11 | 1 | -1/+2 | |
| | | | | llvm-svn: 4696 | |||||
* | 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 | -13/+19 | |
| | | | | llvm-svn: 4663 | |||||
* | Clean up DSGraph::removeDeadNodes interface | Chris Lattner | 2002-11-09 | 1 | -2/+1 | |
| | | | | llvm-svn: 4660 | |||||
* | Make removeTriviallyDeadNodes a private interface of DSGraph | Chris Lattner | 2002-11-09 | 1 | -1/+0 | |
| | | | | llvm-svn: 4659 | |||||
* | Reenable 'quick exit' case | Chris Lattner | 2002-11-08 | 1 | -2/+1 | |
| | | | | llvm-svn: 4638 | |||||
* | Reimplement TD pass completely it now works | Chris Lattner | 2002-11-08 | 1 | -113/+119 | |
| | | | | llvm-svn: 4635 | |||||
* | Use DSNodeHandleMap instead to be safe | Chris Lattner | 2002-11-08 | 1 | -4/+4 | |
| | | | | llvm-svn: 4622 | |||||
* | Add flush | Chris Lattner | 2002-11-08 | 1 | -1/+2 | |
| | | | | llvm-svn: 4619 | |||||
* | Instead of using a bool that constant has to be explained, use a self | Chris Lattner | 2002-11-07 | 1 | -1/+1 | |
| | | | | | | explanitory enum instead. llvm-svn: 4600 | |||||
* | Implement a new mergeInGraph method, which basically factors code out of | Chris Lattner | 2002-11-07 | 1 | -30/+30 | |
| | | | | | | | | | | | | 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 | -1/+1 | |
| | | | | llvm-svn: 4596 | |||||
* | Delete "StripScalars" argument to cloneInto method | Chris Lattner | 2002-11-06 | 1 | -1/+0 | |
| | | | | llvm-svn: 4560 | |||||
* | - Make sure to only keep track of mappings that the TD pass may need in the | Chris Lattner | 2002-10-22 | 1 | -4/+46 | |
| | | | | | | | | future. This prevents having spurious map entries to nodes that we really don't care about. This allows us to reenable the DeadNodeElim, which was disabled. llvm-svn: 4260 | |||||
* | 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 | -11/+24 | |
| | | | | | | | | 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 | |||||
* | As it turns out, we don't need a fully generic mapping copy ctor, we just need | Chris Lattner | 2002-10-21 | 1 | -17/+7 | |
| | | | | | | | something that maps through a std::map. Since this simplified the client and implementation code, do so now. llvm-svn: 4250 | |||||
* | Remove some unneccesary 'using' directives | Chris Lattner | 2002-10-21 | 1 | -5/+3 | |
| | | | | llvm-svn: 4246 | |||||
* | - Make DSCallSite not inherit from std::vector. Renamed methods slightly. | Chris Lattner | 2002-10-21 | 1 | -3/+3 | |
| | | | | | | | | 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 | |||||
* | Remove spurious caller pointer in DSCallSite. | Vikram S. Adve | 2002-10-20 | 1 | -8/+11 | |
| | | | | | | Also add functions to access pointer argument nodes cleanly. llvm-svn: 4235 | |||||
* | Added a first-class representation for each call site that can be | Vikram S. Adve | 2002-10-20 | 1 | -13/+13 | |
| | | | | | | | | | 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 | |||||
* | Remove more obsolete code | Chris Lattner | 2002-10-17 | 1 | -31/+0 | |
| | | | | llvm-svn: 4221 | |||||
* | * Make the DSGraph cloner automatically merge global nodes | Chris Lattner | 2002-10-17 | 1 | -9/+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 | |||||
* | Enable incompleteness marking | Chris Lattner | 2002-10-17 | 1 | -2/+2 | |
| | | | | llvm-svn: 4217 | |||||
* | * First try at implementing TD pass this does not merge global nodes yet, | Chris Lattner | 2002-10-17 | 1 | -117/+82 | |
| | | | | | | | | among other things. * Significant rewrite of TD pass to avoid potentially N^2 algorithms if possible. It is still not complete, but at least it's checked in now. llvm-svn: 4215 | |||||
* | Checkin some major reworks of data structure analysis. This is not done, | Chris Lattner | 2002-10-01 | 1 | -1/+3 | |
| | | | | | | | 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 | -2/+3 | |
| | | | | llvm-svn: 3261 | |||||
* | Changes to be GCC3.1 friendly | Chris Lattner | 2002-07-31 | 1 | -5/+6 | |
| | | | | llvm-svn: 3186 | |||||
* | This file implements the top-down propagation pass for data structure graphs. | Vikram S. Adve | 2002-07-30 | 1 | -0/+224 | |
Also, we now use a separate globals graph to hold externally visible nodes. 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: 3171 |