summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis
Commit message (Collapse)AuthorAgeFilesLines
* Avoid extra copyChris Lattner2002-10-201-2/+1
| | | | llvm-svn: 4239
* Simplify code a bit, add comment flyerChris Lattner2002-10-201-10/+11
| | | | llvm-svn: 4238
* Split some long linesChris Lattner2002-10-201-3/+4
| | | | llvm-svn: 4237
* Remove spurious caller pointer in DSCallSite.Vikram S. Adve2002-10-205-23/+32
| | | | | | Also add functions to access pointer argument nodes cleanly. llvm-svn: 4235
* This function can be staticChris Lattner2002-10-201-2/+2
| | | | llvm-svn: 4234
* Fix previous checkin :(Chris Lattner2002-10-201-1/+1
| | | | llvm-svn: 4233
* Avoid extra callSite copyChris Lattner2002-10-201-1/+1
| | | | llvm-svn: 4232
* Print the array flagChris Lattner2002-10-201-0/+2
| | | | llvm-svn: 4231
* Added a first-class representation for each call site that can beVikram S. Adve2002-10-206-60/+76
| | | | | | | | | 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
* Convert typerec to be a structure instead of a pairChris Lattner2002-10-183-8/+7
| | | | llvm-svn: 4226
* Print Mod/ref infoChris Lattner2002-10-171-0/+2
| | | | llvm-svn: 4224
* Calculate mod/ref infoChris Lattner2002-10-171-0/+3
| | | | llvm-svn: 4223
* Remove more obsolete codeChris Lattner2002-10-171-31/+0
| | | | llvm-svn: 4221
* * Make the DSGraph cloner automatically merge global nodesChris Lattner2002-10-173-47/+15
| | | | | | | | * 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-172-35/+0
| | | | llvm-svn: 4218
* Enable incompleteness markingChris Lattner2002-10-171-2/+2
| | | | llvm-svn: 4217
* * First try at implementing TD pass this does not merge global nodes yet,Chris Lattner2002-10-171-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
* Reenable printing of TD analysisChris Lattner2002-10-171-3/+2
| | | | llvm-svn: 4214
* * 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
* Use PARALLEL_DIRS.Vikram S. Adve2002-10-111-1/+1
| | | | llvm-svn: 4114
* Added capability to get execution count of a loop if it is a predictableMisha Brukman2002-10-111-11/+137
| | | | | | number of iterations. llvm-svn: 4113
* Added helper functions in LoopInfo: isLoopExit and numBackEdges.Misha Brukman2002-10-111-0/+24
| | | | llvm-svn: 4112
* Handle post dominance correctly in the case where blocks do not have a path toChris Lattner2002-10-041-0/+12
| | | | | | the exit node. llvm-svn: 4038
* 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
* Minor tweakChris Lattner2002-09-291-2/+3
| | | | llvm-svn: 3985
* Fix printing of loop informationChris Lattner2002-09-291-2/+2
| | | | llvm-svn: 3977
* First try at implementing the AliasSetTracker class. I'm sure it will needChris Lattner2002-09-261-0/+172
| | | | | | revision as I start to use it though. llvm-svn: 3954
* Fix printing of loop informationChris Lattner2002-09-261-2/+2
| | | | llvm-svn: 3941
* - Add new methods to LoopInfo: getLoopPreheader, addBasicBlockToLoop.Chris Lattner2002-09-261-1/+51
| | | | | | | These allow extra information to be easily gathered, and loopinfo to be updated. llvm-svn: 3936
* Convert BasicVN to be an ImmutablePassChris Lattner2002-09-251-12/+1
| | | | llvm-svn: 3924
* Make users of FindUsedTypes not have problems with linkage. This fixesChris Lattner2002-09-241-0/+3
| | | | | | Cwriter. llvm-svn: 3900
* Clean up indvar printingChris Lattner2002-09-101-3/+3
| | | | llvm-svn: 3650
* * Add capability to recognize alias properties of the following common cases:Chris Lattner2002-09-081-12/+79
| | | | | | | | | | | | | | | | | - A[c1] cannot alias A[c2] where constants c1 != c2 - A[i] cannot alias B[j] if A & B are provably different arrays This should help out array based codes. For example, from bzip2 from spec, 3 additional loads can be GCSE'd, and _21_ additional loads can be LICMd due to this change. In a test example from the Spec GAP benchmark (vecffe.c), this change allows _52_ additional loads to be GCSE'd and _224_ additional LICM'd loads. Not bad for such a simple change. Other testcases show no change at all because they just don't use arrays. Not too suprising there. llvm-svn: 3616
* - Renamed Type::isIntegral() to Type::isInteger()Chris Lattner2002-09-031-3/+3
| | | | | | | | - Added new method Type::isIntegral() that is the same as isInteger, but also accepts bool. SCVS: ---------------------------------------------------------------------- llvm-svn: 3572
OpenPOWER on IntegriCloud