summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/DataStructure
Commit message (Collapse)AuthorAgeFilesLines
* Implement optimization for direct function call case. This dramaticallyChris Lattner2003-02-057-56/+108
| | | | | | | reduces the number of function nodes created and speeds up analysis by about 10% overall. llvm-svn: 5495
* Remove bogus assertionChris Lattner2003-02-041-2/+0
| | | | llvm-svn: 5492
* Fix a huge bug with handling non-pointer instructionsChris Lattner2003-02-041-1/+16
| | | | llvm-svn: 5491
* Make the TD pass not include all of the call nodes from the local pass,Chris Lattner2003-02-041-0/+1
| | | | | | eliminating incomplete markers from them llvm-svn: 5490
* Add sanity checkChris Lattner2003-02-041-0/+1
| | | | llvm-svn: 5489
* Fix steensgaard to work on a lot more cases...Chris Lattner2003-02-041-14/+9
| | | | llvm-svn: 5488
* Fix printing of nonfunction graphsChris Lattner2003-02-041-2/+4
| | | | llvm-svn: 5487
* Rename variableChris Lattner2003-02-031-6/+6
| | | | llvm-svn: 5486
* Hack to work around deficiency in pass infrastructureChris Lattner2003-02-031-3/+9
| | | | llvm-svn: 5485
* Initial implementation of ds-aaChris Lattner2003-02-031-0/+128
| | | | llvm-svn: 5484
* * Fix a bug introduced in the last checkin wrt Stack markersChris Lattner2003-02-031-8/+6
| | | | | | * Make cloning more efficient in the process... llvm-svn: 5479
* Implement the globals graph!Chris Lattner2003-02-031-128/+163
| | | | llvm-svn: 5477
* Add better debug outputChris Lattner2003-02-031-12/+20
| | | | llvm-svn: 5476
* Be a bit more specific in captionChris Lattner2003-02-021-1/+1
| | | | llvm-svn: 5469
* Fix a bug where we would delete neccesary calls in bu passChris Lattner2003-02-011-1/+2
| | | | llvm-svn: 5465
* Fix a bug where we would incorrectly delete globals which had edges to alive ↵Chris Lattner2003-02-011-3/+0
| | | | | | | | | nodes in a graph in the t-d pass. This slows down the TD pass by quite a bit (1/3), but is needed for correctness. llvm-svn: 5464
* Delete nodes more efficientlyChris Lattner2003-02-011-6/+4
| | | | llvm-svn: 5463
* Remove dead nodes more efficientlyChris Lattner2003-02-011-1/+2
| | | | llvm-svn: 5462
* Improve efficiency of aliveness traversal codeChris Lattner2003-02-011-21/+19
| | | | llvm-svn: 5461
* Change DSGraph stuff to use hash_(set|map) instead of std::(set|map)Chris Lattner2003-02-016-56/+54
| | | | | | This change provides a small (3%) but consistent speedup llvm-svn: 5460
* Remove using declarationsChris Lattner2003-02-014-30/+24
| | | | llvm-svn: 5456
* Remove globals on the bottom up pass which do not contain any informationChris Lattner2003-01-311-3/+22
| | | | llvm-svn: 5451
* Add functions to the ban listChris Lattner2003-01-311-1/+2
| | | | llvm-svn: 5450
* Use and implement API for graph traversalsChris Lattner2003-01-291-24/+25
| | | | llvm-svn: 5431
* free instructions mark their operands as being heap nodes.Chris Lattner2003-01-281-1/+2
| | | | llvm-svn: 5425
* * Eliminate boolean arguments in favor of using enumsChris Lattner2003-01-235-18/+20
| | | | | | * T-D pass now eliminates unreachable globals llvm-svn: 5419
* Slight efficiency improvementChris Lattner2003-01-231-4/+1
| | | | llvm-svn: 5418
* Fix analysis of the Burg programChris Lattner2003-01-221-1/+1
| | | | llvm-svn: 5401
* 'graph' is spelled without a 'c'.Misha Brukman2002-12-121-3/+12
| | | | | | Also added Statistic counters for NoAlias and MayAlias. llvm-svn: 4972
* Two bug fixes:Vikram S. Adve2002-12-061-13/+22
| | | | | | | | (1) Make entries for Constant values in the ScalarMap. (2) Set MOD bit for the node pointed to by the argument of a free instruction. llvm-svn: 4948
* Fix several related bugs in DSNode::mergeWith() caused by theVikram S. Adve2002-12-061-90/+102
| | | | | | | | | fact that the incoming nodes may be merged away at intermediate steps. Use an extra level of indirection via DSNodeHandles to track the nodes being merged. All this now happens in a static helper function MergeNodes(). llvm-svn: 4947
* Cute bug fix: when moving links from N to this, some links could haveVikram S. Adve2002-12-051-14/+23
| | | | | | | been missed if node *this got merged away due to recursive merging! Also, links were not moved correctly if a node is collapsed. llvm-svn: 4933
* Fix logical error in TD pass: we should clear Mod/Ref bits of each callerVikram S. Adve2002-11-273-8/+17
| | | | | | | before inlining their graphs into a function. To support this, added flags to CloneFlags to strip/keep Mod/Ref bits. llvm-svn: 4836
* Keep global nodes in each DS Graph (by forcing them to be marked live).Vikram S. Adve2002-11-251-3/+3
| | | | llvm-svn: 4831
* Add peak memory usage measurement stuffChris Lattner2002-11-181-40/+64
| | | | | | Add structure padding optimizations llvm-svn: 4749
* Add peak memory usage supportChris Lattner2002-11-181-1/+4
| | | | llvm-svn: 4748
* Add statsChris Lattner2002-11-181-4/+15
| | | | llvm-svn: 4747
* Add hack to only consider indirect calls indirect if they do more than castChris Lattner2002-11-171-6/+14
| | | | | | their source function llvm-svn: 4723
* Add MaxSCC statisticsChris Lattner2002-11-171-6/+25
| | | | llvm-svn: 4722
* Pass to compute various statisics related to DSGraphs.Vikram S. Adve2002-11-131-0/+86
| | | | | | | | For now, this just computes the #indirect call sites and the avg. #callees per indirect call site (actually it prints both totals and the average is their ratio). llvm-svn: 4705
* Inline graphs from outside the SCC into the SCC before SCC resolution startsChris Lattner2002-11-121-4/+104
| | | | llvm-svn: 4701
* Fix two bugs:Chris Lattner2002-11-121-27/+27
| | | | | | | | | | * The globals vector was getting broken and unsorted, this caused vortex to get badly pessimized * Node offset handling was being handled really poorly, and in particular we were not merging types with offsets right. This causes several graphs to be non-merged. llvm-svn: 4699
* Handle a mismatch between # function args and call site argsChris Lattner2002-11-111-1/+2
| | | | llvm-svn: 4696
* Elimiante calls to a node with nothing in it.Chris Lattner2002-11-111-36/+45
| | | | llvm-svn: 4695
* Complete rewrite of BU code to use Tarjan's SCC finding algorithm to driveChris Lattner2002-11-111-265/+351
| | | | | | the algorithm instead of hand coded depth first iteration llvm-svn: 4694
* Mark stuff reachable by _AUX_ calls as incomplete in the BU graphChris Lattner2002-11-111-9/+15
| | | | llvm-svn: 4690
* Fix infinite loop in the BU algorithm. Unfortunately this dies a seriousChris Lattner2002-11-111-30/+177
| | | | | | death when handling moderately sized SCC's, but what can you do llvm-svn: 4689
* Print the right call set sizeChris Lattner2002-11-111-1/+3
| | | | llvm-svn: 4688
* Use call site mergeWith method to simplify codeChris Lattner2002-11-111-5/+1
| | | | llvm-svn: 4687
* Fix a bug that could trigger when varargs call sites had non-matching number ↵Chris Lattner2002-11-101-2/+9
| | | | | | of arguments llvm-svn: 4683
OpenPOWER on IntegriCloud