summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/DataStructure
Commit message (Collapse)AuthorAgeFilesLines
...
* * Add data structures and code to track the call sites for each functionChris Lattner2002-10-171-2/+8
| | | | llvm-svn: 4213
* Cleanup data structure graph printer, eliminate hard coded printing inChris Lattner2002-10-171-120/+18
| | | | | | favor of generic printer. llvm-svn: 4209
* Make sure to print out the call nodes as wellChris Lattner2002-10-161-1/+14
| | | | llvm-svn: 4203
* * Print the "return" node in the graphsChris Lattner2002-10-161-1/+18
| | | | llvm-svn: 4199
* The second element of the iterator is really an offset, not a linkChris Lattner2002-10-161-1/+1
| | | | llvm-svn: 4196
* Specify the graph nameChris Lattner2002-10-161-1/+1
| | | | llvm-svn: 4195
* - DSGraph Printing Improvements:Chris Lattner2002-10-161-7/+7
| | | | | | | * Print edge source labels again * Override node shape to be Mrecord again, instead of just record. llvm-svn: 4193
* Halfway conversion from custom printing to GraphWriter printingChris Lattner2002-10-131-0/+33
| | | | llvm-svn: 4146
* Prune function nodes that are no longer referenced due to inliningChris Lattner2002-10-032-2/+3
| | | | llvm-svn: 4036
* sgefa uses truely huge data structures nodes. Only print part of them if theyChris Lattner2002-10-031-2/+7
| | | | | | are so big llvm-svn: 4035
* Handle bug exposed by power benchmarkChris Lattner2002-10-031-1/+1
| | | | llvm-svn: 4033
* Reimplement/port the Bottom Up Closure passChris Lattner2002-10-032-38/+61
| | | | llvm-svn: 4031
* DataStructure.h doesn't include DSGraph.hChris Lattner2002-10-023-0/+3
| | | | llvm-svn: 4029
* * Implement fully general merging of array subscripts on demand! ThisChris Lattner2002-10-021-3/+27
| | | | | | does not handle the initial pointer index case yet though. llvm-svn: 4012
* When printing DS nodes, print the mergemap index as well to allow easierChris Lattner2002-10-021-1/+1
| | | | | | debugging of merging process. llvm-svn: 4010
* * Significant rework of DSNode to support arbitrary aliasing due to mergingChris Lattner2002-10-021-20/+146
| | | | | | | | * Now all and any bytes of a DSNode can be merged together individually. This is neccesary to support the full generality of C and support aliasing correctly. llvm-svn: 4008
* Initial checkin of Steensgaards context insensitive flow insensitiveChris Lattner2002-10-011-0/+224
| | | | | | alias analysis llvm-svn: 3997
* Checkin some major reworks of data structure analysis. This is not done,Chris Lattner2002-10-015-353/+522
| | | | | | | nor does it work very well, but I need to get it checked in before I break the tree unintentionally. llvm-svn: 3996
* Eliminated the MemAccessInst class, folding contents into GEP class.Chris Lattner2002-08-221-9/+8
| | | | llvm-svn: 3488
* Load & StoreInst no longer derive from MemAccessInst, so we don't haveChris Lattner2002-08-221-3/+3
| | | | | | to handle indexing anymore llvm-svn: 3485
* - Do not expose ::ID from any of the analyses anymore.Chris Lattner2002-08-213-3/+0
| | | | llvm-svn: 3416
* Minor changes to DEBUG()'sChris Lattner2002-08-072-3/+6
| | | | llvm-svn: 3261
* Reorder #includes to be rightChris Lattner2002-08-071-1/+1
| | | | llvm-svn: 3260
* Changes to be GCC3.1 friendlyChris Lattner2002-07-313-12/+13
| | | | llvm-svn: 3186
* Add new -only-print-main-ds option that causes mains ds graph to beChris Lattner2002-07-311-1/+4
| | | | | | printed, but no others. llvm-svn: 3178
* Add GlobalDSGraph -- a common graph that holds externally visible nodes.Vikram S. Adve2002-07-301-4/+8
| | | | llvm-svn: 3173
* Print globals graph after either the BU or the TD pass.Vikram S. Adve2002-07-301-17/+41
| | | | llvm-svn: 3172
* This file implements the top-down propagation pass for data structure graphs.Vikram S. Adve2002-07-301-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
* Use a separate globals graph to hold externally visible nodes.Vikram S. Adve2002-07-302-107/+484
| | | | | | | | | 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-274-11/+16
| | | | | | | | | | 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-262-0/+4
| | | | | | | | | | | | | | | * 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
* *** empty log message ***Chris Lattner2002-07-231-2/+1
| | | | llvm-svn: 3002
* Always create a shadow node for a store instruction, even if it's storingChris Lattner2002-07-221-3/+3
| | | | | | a scalar value. Likewise for load instructions. llvm-svn: 2990
* Ignore some common varargs functions.Chris Lattner2002-07-191-0/+6
| | | | llvm-svn: 2973
* * Inline CopyFunctionCallsListChris Lattner2002-07-181-35/+88
| | | | | | | | * Don't clone OrigCallList * Rename removeDeadNodes -> removeTriviallyDeadNodes * Implement new removeDeadNodes method llvm-svn: 2970
* Rename removeDeadNodes to removeTriviallyDeadNodesChris Lattner2002-07-181-1/+3
| | | | llvm-svn: 2969
* 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
* Add support for a top-down propagation pass.Vikram S. Adve2002-07-181-17/+39
| | | | | | | | | Each DSGraph now keeps a list of pending callers that have not been inlined into the function represented by that graph. It also keeps a copy of the original call nodes before the BU pass eliminates some of them. llvm-svn: 2965
* Implement cast nodes correctly.Chris Lattner2002-07-182-14/+19
| | | | llvm-svn: 2964
* 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-184-71/+482
| | | | llvm-svn: 2945
* added std:: to stringAnand Shukla2002-07-161-4/+4
| | | | llvm-svn: 2915
* * Pass the DSGraph around instead of the Function to printing fnsChris Lattner2002-07-111-16/+26
| | | | | | | | | * Print the globals list in the node * Print the scalars in the scalar node * Eliminate Scalar "label" edges in the graph * Print fake edges lighter instead of dotted llvm-svn: 2880
* * Nodes now keep track of any global variables in themChris Lattner2002-07-111-0/+15
| | | | llvm-svn: 2879
* * Nodes now keep track of any global variables in themChris Lattner2002-07-111-17/+35
| | | | | | | * Only dead-node-eliminate nodes with no flags * Don't merge scalars, only merge what they point to. llvm-svn: 2878
* New implementation of data structure analysis. Only local analysis has beenChris Lattner2002-07-103-130/+531
| | | | | | implemented so far. llvm-svn: 2871
* Reimplement data structure analysisChris Lattner2002-07-105-1601/+0
| | | | llvm-svn: 2868
* Fix anand's last checkinChris Lattner2002-06-306-47/+43
| | | | llvm-svn: 2804
* changes to make it compatible with 64bit gccAnand Shukla2002-06-251-15/+15
| | | | llvm-svn: 2795
OpenPOWER on IntegriCloud