summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/DataStructure/BottomUpClosure.cpp
Commit message (Collapse)AuthorAgeFilesLines
* ONLY merge in the aux call sites, this causes a HUGE speedupChris Lattner2002-11-081-1/+2
| | | | llvm-svn: 4640
* Remove gunk used by broken TD passChris Lattner2002-11-081-12/+4
| | | | llvm-svn: 4632
* Instead of using a bool that constant has to be explained, use a selfChris Lattner2002-11-071-2/+2
| | | | | | explanitory enum instead. llvm-svn: 4600
* Implement a new mergeInGraph method, which basically factors code out ofChris Lattner2002-11-071-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 DSChris Lattner2002-11-071-7/+1
| | | | llvm-svn: 4596
* Delete "StripScalars" argument to cloneInto methodChris Lattner2002-11-061-1/+0
| | | | llvm-svn: 4560
* Give a better error message in an unhandled caseChris Lattner2002-11-041-1/+8
| | | | llvm-svn: 4521
* Rename ValueMap to ScalarMapChris Lattner2002-11-031-3/+3
| | | | llvm-svn: 4516
* Oops, this was not meant to be checked inChris Lattner2002-11-021-2/+1
| | | | llvm-svn: 4489
* Stop representing scalars as explicit nodes in the graph. Now the onlyChris Lattner2002-11-021-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 fixmeChris Lattner2002-10-311-0/+2
| | | | llvm-svn: 4479
* The callee is not correct, and confuses the TD pass. Null it out.Chris Lattner2002-10-221-0/+1
| | | | llvm-svn: 4259
* Delete unused arguments to DSGraph::cloneInto methodChris Lattner2002-10-211-3/+1
| | | | llvm-svn: 4253
* - Add "ResolvingCaller" to the CallSite record. This keeps track of whichChris Lattner2002-10-211-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 Lattner2002-10-211-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 linesChris Lattner2002-10-201-3/+4
| | | | llvm-svn: 4237
* Remove spurious caller pointer in DSCallSite.Vikram S. Adve2002-10-201-6/+7
| | | | | | Also add functions to access pointer argument nodes cleanly. llvm-svn: 4235
* Avoid extra callSite copyChris Lattner2002-10-201-1/+1
| | | | llvm-svn: 4232
* Added a first-class representation for each call site that can beVikram S. Adve2002-10-201-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 nodesChris Lattner2002-10-171-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 codeChris Lattner2002-10-171-26/+0
| | | | llvm-svn: 4218
* * Add data structures and code to track the call sites for each functionChris Lattner2002-10-171-2/+8
| | | | llvm-svn: 4213
* Prune function nodes that are no longer referenced due to inliningChris Lattner2002-10-031-0/+1
| | | | llvm-svn: 4036
* Reimplement/port the Bottom Up Closure passChris Lattner2002-10-031-34/+52
| | | | llvm-svn: 4031
* Checkin some major reworks of data structure analysis. This is not done,Chris Lattner2002-10-011-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 Lattner2002-08-211-1/+0
| | | | llvm-svn: 3416
* Minor changes to DEBUG()'sChris Lattner2002-08-071-1/+3
| | | | llvm-svn: 3261
* Changes to be GCC3.1 friendlyChris Lattner2002-07-311-1/+1
| | | | llvm-svn: 3186
* Use a separate globals graph to hold externally visible nodes.Vikram S. Adve2002-07-301-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
* * Standardize how analysis results/passes as printed with the print() virtualChris Lattner2002-07-271-1/+1
| | | | | | | | | | methods * Eliminate AnalysisID: Now it is just a typedef for const PassInfo* * Simplify how AnalysisID's are initialized * Eliminate Analysis/Writer.cpp/.h: incorporate printing functionality into the analyses themselves. llvm-svn: 3115
* * Add support for different "PassType's"Chris Lattner2002-07-261-0/+2
| | | | | | | | | | | | | | | * Add new RegisterOpt/RegisterAnalysis templates for registering passes that are to show up in opt or analyze * Register Analyses now * Change optimizations to use RegisterOpt instead of RegisterPass * Add support for different "PassType's" * Add new RegisterOpt/RegisterAnalysis templates for registering passes that are to show up in opt or analyze * Register Analyses now * Change optimizations to use RegisterOpt instead of RegisterPass * Remove getPassName implementations from various subclasses llvm-svn: 3112
* Changes for GCC 3.1Chris Lattner2002-07-241-3/+3
| | | | llvm-svn: 3068
* Ignore some common varargs functions.Chris Lattner2002-07-191-0/+6
| | | | llvm-svn: 2973
* Add support for a top-down propagation pass:Vikram S. Adve2002-07-181-6/+13
| | | | | | | -- Save a copy of the original call nodes in DSGraph before inlining bottom-up. -- Also, save a list of the callers of each function in DSGraph. llvm-svn: 2966
* The graph is more accurate when I don't completely ignore the return value.Chris Lattner2002-07-181-0/+3
| | | | llvm-svn: 2952
* Lots of bug fixes, add BottomUpClosure, which has bugs, but is a start.Chris Lattner2002-07-181-0/+188
llvm-svn: 2945
OpenPOWER on IntegriCloud