summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis
Commit message (Collapse)AuthorAgeFilesLines
* Make this work better for constants that aren't necessarily in ANY graph, ↵Chris Lattner2003-09-201-4/+15
| | | | | | such as null pointers llvm-svn: 8628
* Fix bug: BasicAA/2003-09-19-LocalArgument.llChris Lattner2003-09-201-7/+22
| | | | llvm-svn: 8615
* Keep track of the number of typed/untyped memory accesses theyre are in the ↵Chris Lattner2003-09-201-30/+62
| | | | | | | | program VS: ---------------------------------------------------------------------- llvm-svn: 8611
* These two conditions are not exclusive!!Chris Lattner2003-09-151-3/+6
| | | | llvm-svn: 8518
* Make the print output more usefulChris Lattner2003-09-151-3/+7
| | | | llvm-svn: 8517
* Fixed spelling and grammar.Misha Brukman2003-09-1111-16/+16
| | | | llvm-svn: 8478
* Renamed DominatorTree::Node::getNode() -> getBlock()Chris Lattner2003-09-111-1/+1
| | | | llvm-svn: 8469
* Spell `definitely' correctly.Misha Brukman2003-09-111-1/+1
| | | | llvm-svn: 8466
* Rework post dominator information so that we do not have toChris Lattner2003-09-101-88/+97
| | | | | | | | | unify all exit nodes of a function to compute post-dominance information. This does not work with functions that have both unwind and return nodes, because we cannot unify these blocks. The new implementation is better anyway. :) llvm-svn: 8460
* Remove using declarationsChris Lattner2003-09-101-2/+1
| | | | llvm-svn: 8442
* another trivial cleanupChris Lattner2003-09-101-3/+2
| | | | llvm-svn: 8435
* Simplification of trip counting machinery.Chris Lattner2003-09-101-73/+68
| | | | | | | | | | - make sure to check the indvar type before anything else (efficiency) - Make sure to insert the 'add' into the program, even though it'll be dead - Wrap code at 80 columns - Other minor cleanups to reduce indentation level llvm-svn: 8434
* Spelling fixesChris Lattner2003-09-101-5/+5
| | | | llvm-svn: 8429
* clean up file header commentChris Lattner2003-09-101-5/+5
| | | | llvm-svn: 8427
* Simplify some codeChris Lattner2003-09-101-8/+5
| | | | llvm-svn: 8426
* Fix bug: RLE-Preserve-Volatile.llChris Lattner2003-09-081-2/+6
| | | | | | Volatile loads and stores must not be value numbered llvm-svn: 8398
* This file is hopelessly out of dateChris Lattner2003-09-011-208/+0
| | | | llvm-svn: 8298
* Replace M with F when refering to functionsChris Lattner2003-08-311-11/+11
| | | | llvm-svn: 8274
* Rename TarjanSCCIterator -> scc_iteratorChris Lattner2003-08-313-16/+16
| | | | | | | | * Increases consistency with other iterators (e.g. df_iterator, po_iterator...) * It's shorter * We don't name classes by the implementation, we name it for the interface! llvm-svn: 8273
* Don't explicitly use the SCC classChris Lattner2003-08-311-2/+2
| | | | llvm-svn: 8271
* Remove dead varChris Lattner2003-08-311-1/+0
| | | | llvm-svn: 8270
* The SCC::HasLoop method is now in the main iteratorChris Lattner2003-08-312-8/+8
| | | | llvm-svn: 8269
* Remove explicit passing of SCC's around as objects.Chris Lattner2003-08-311-6/+5
| | | | llvm-svn: 8267
* Move the getAnalysisUsage method from the header fileChris Lattner2003-08-311-2/+12
| | | | llvm-svn: 8264
* The tarjan iterator now returns a reference to the current SCC, not a ↵Chris Lattner2003-08-313-4/+4
| | | | | | possibly null pointer! llvm-svn: 8262
* Minor cleanupsChris Lattner2003-08-311-14/+9
| | | | | | Iterate from tarj_begin -> tarj_end, not from tarj_begin -> NULL llvm-svn: 8260
* Indent classes correctly in the namespaceChris Lattner2003-08-311-46/+56
| | | | | | | move bodies out-of-line Add getAnalysisUsage method for SFGSCC llvm-svn: 8259
* * CleanupsChris Lattner2003-08-311-38/+30
| | | | | | * Iterate from tarj_begin -> tarj_end, not from tarj_begin -> NULL llvm-svn: 8258
* Initial checkin of the CallGraphSCCPass classChris Lattner2003-08-311-0/+30
| | | | llvm-svn: 8247
* There is no reason for this to be a pass!Chris Lattner2003-08-291-5/+5
| | | | llvm-svn: 8214
* Spell `necessary' correctly.Misha Brukman2003-08-181-1/+1
| | | | llvm-svn: 7944
* Fix the bug that broke the nightly tester in McCat/18-imp last night. :(Chris Lattner2003-08-171-6/+6
| | | | llvm-svn: 7925
* Fix bug: LoopPreheaders/2003-08-15-PreheadersFail.llChris Lattner2003-08-161-4/+81
| | | | llvm-svn: 7915
* Improvement to the previous fix: branch following a delay slot ofVikram S. Adve2003-08-141-3/+5
| | | | | | | another delayed instr. would cause the later sanity-check (assertion) in PhyRegAlloc.cpp to fail, even though there is really no error. llvm-svn: 7848
* For an instruction with delay slots, mark all live values beforeVikram S. Adve2003-08-122-16/+42
| | | | | | | the instruction as being live before/after the delay slot instructions as well. llvm-svn: 7795
* Remove unnecessary use of NonCopyableChris Lattner2003-08-061-5/+4
| | | | llvm-svn: 7641
* Add more verbose commentChris Lattner2003-08-051-10/+9
| | | | llvm-svn: 7610
* Added function mergeInGlobalsGraph which merges in the entire globals graph ↵Sumant Kowshik2003-08-051-0/+29
| | | | | | with the graph of a function llvm-svn: 7606
* DEBUG got moved to Support/Debug.hChris Lattner2003-08-016-4/+7
| | | | llvm-svn: 7492
* Don't require a BB to look-up live variables, unless they may need toVikram S. Adve2003-07-291-9/+10
| | | | | | be recomputed. llvm-svn: 7388
* Fix another minor bugChris Lattner2003-07-261-2/+2
| | | | llvm-svn: 7340
* Dont' try to parse the colonChris Lattner2003-07-251-2/+2
| | | | llvm-svn: 7323
* Add a more general check-flags which can be used to ensure arbitrary flags ↵Chris Lattner2003-07-251-11/+35
| | | | | | are set llvm-svn: 7322
* Fit code into 80 columnsChris Lattner2003-07-231-2/+4
| | | | llvm-svn: 7249
* Eliminate old-style castChris Lattner2003-07-231-1/+1
| | | | llvm-svn: 7248
* Fix comment.Vikram S. Adve2003-07-221-3/+3
| | | | llvm-svn: 7227
* Fix typo in call to isUnresolvableFunc, which was breaking the build.Brian Gaeke2003-07-171-1/+1
| | | | llvm-svn: 7194
* Rematerialize nodes from the globals graph into the current graphVikram S. Adve2003-07-161-3/+9
| | | | | | | | | | after all callees are inlined into the current graph. NOTE: There's also a major bug fix for the BU pass in DataStructure.cpp, which ensures that resolvable indirect calls are not moved out to the globals graph, so that they are eventually inlined (if possible). llvm-svn: 7189
* (1) Rematerialize nodes from the globals graph into the current graphVikram S. Adve2003-07-161-57/+84
| | | | | | | | | | | | after all callers are inlined into the current graph. (2) Optimize the way a graph is inlined into its callees in the TD phase: (a) Use DSGraph::cloneReachableSubgraph to clone only a subgraph at each call site, for faster inlining. (b) Clone separately for the same callee at different call sites, since only the reachable subgraph is being cloned, not the entire caller graph. llvm-svn: 7188
* Implement 2 important changes: (1) rematerialization from the globals graph,Vikram S. Adve2003-07-161-65/+250
| | | | | | | | | | | | | | | | | | | | | | | and (2) faster inlining by cloning only reachable nodes. In particular: (1) Added DSGraph::cloneReachableSubgraph and DSGraph::cloneReachableNodes to clone the subgraph reachable from a set of root nodes, into the current graph, merging the global nodes into thos in the current graph. The TD pass now uses this for faster inlining, and so does the next function. (2) Added DSGraph::updateFromGlobalGraph() to rematerialize nodes from the globals graph into the current graph in both BU and TD passes. (3) `I' flags are removed from all nodes in the globals graph, because they are difficult to maintain correctly and are not needed anyway. (4) Aux. function calls are only removed to the globals graph if they will never be resovled. (This is what fixed gap.) The immediate reason is that if we took these out of a function (and moved them to the globals graph) we would need to rematerialize these nodes into the function graph for every function in the BU pass. The longer term problem is that we would need to find a way to remove them from the globals graph iff they have been resolved on all paths through the call graph. llvm-svn: 7187
OpenPOWER on IntegriCloud