aboutsummaryrefslogtreecommitdiff
path: root/lib/Analysis/DataStructure
AgeCommit message (Collapse)Author
2003-02-09Fix major bugs in incompleteness marking that were pessimizing resultsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5515 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-09Print out the steens graph if -debug is specifiedChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5514 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-09* Fix a bug where global incompleteness marking would not mark the globalChris Lattner
itself incomplete! * Allow incompleteness callers to specify they don't want globals to be considered sources of incompleteness. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5513 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-08Add a special case for main because we know it's incoming arguments don't aliasChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5511 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-08Fix a bug where we would mark the callees arguments incomplete if the caller ↵Chris Lattner
was external. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5510 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-08Remove explicit result countersChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5508 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-08Add a flag which effectively disables field sensitivityChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5506 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-07Don't bother counting alias results, allow the AliasAnalysisCounter to do that.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5505 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-06Fix an assertion failureChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5496 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-05Implement optimization for direct function call case. This dramaticallyChris Lattner
reduces the number of function nodes created and speeds up analysis by about 10% overall. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5495 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-04Remove bogus assertionChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5492 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-04Fix a huge bug with handling non-pointer instructionsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5491 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-04Make the TD pass not include all of the call nodes from the local pass,Chris Lattner
eliminating incomplete markers from them git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5490 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-04Add sanity checkChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5489 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-04Fix steensgaard to work on a lot more cases...Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5488 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-04Fix printing of nonfunction graphsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5487 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-03Rename variableChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5486 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-03Hack to work around deficiency in pass infrastructureChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5485 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-03Initial implementation of ds-aaChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5484 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-03* Fix a bug introduced in the last checkin wrt Stack markersChris Lattner
* Make cloning more efficient in the process... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5479 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-03Implement the globals graph!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5477 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-03Add better debug outputChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5476 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-02Be a bit more specific in captionChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5469 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-01Fix a bug where we would delete neccesary calls in bu passChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5465 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-01Fix a bug where we would incorrectly delete globals which had edges to alive ↵Chris Lattner
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5464 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-01Delete nodes more efficientlyChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5463 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-01Remove dead nodes more efficientlyChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5462 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-01Improve efficiency of aliveness traversal codeChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5461 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-01Change DSGraph stuff to use hash_(set|map) instead of std::(set|map)Chris Lattner
This change provides a small (3%) but consistent speedup git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5460 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-01Remove using declarationsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5456 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-31Remove globals on the bottom up pass which do not contain any informationChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5451 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-31Add functions to the ban listChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5450 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-29Use and implement API for graph traversalsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5431 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-28free instructions mark their operands as being heap nodes.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5425 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-23* Eliminate boolean arguments in favor of using enumsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5420 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-23* Eliminate boolean arguments in favor of using enumsChris Lattner
* T-D pass now eliminates unreachable globals git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5419 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-23Slight efficiency improvementChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5418 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-22Fix analysis of the Burg programChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5401 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-12'graph' is spelled without a 'c'.Misha Brukman
Also added Statistic counters for NoAlias and MayAlias. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4972 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-10This file implements a pass that automatically parallelizes a program,Vikram S. Adve
using the Cilk multi-threaded runtime system to execute parallel code. The current version inserts too many sync() operations in the program because it does not attempt to optimize their placement. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4962 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-08Iterator that enumerates the ProgramDependenceGraph (PDG) for a function,Vikram S. Adve
i.e., enumerates all data and control dependences for the function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4958 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-08An explicit representation of dependence graphs, and a pass thatVikram S. Adve
computes a dependence graph for data dependences on memory locations using interprocedural Mod/Ref information. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4957 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-06Two bug fixes:Vikram S. Adve
(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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4948 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-06Fix several related bugs in DSNode::mergeWith() caused by theVikram S. Adve
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(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4947 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-05Cute bug fix: when moving links from N to this, some links could haveVikram S. Adve
been missed if node *this got merged away due to recursive merging! Also, links were not moved correctly if a node is collapsed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4933 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-27Fix logical error in TD pass: we should clear Mod/Ref bits of each callerVikram S. Adve
before inlining their graphs into a function. To support this, added flags to CloneFlags to strip/keep Mod/Ref bits. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4836 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-27(1) Bug fix that was causing nodes with dangling references to be freed.Vikram S. Adve
We run removeDeadNodes() on the TD graph up front before using it. (2) Major enhancement to printing of results: now we list the actual objects that are mod/ref instead of just printing the bit vectors. Also an important bug fix in TDDataStructures pass (no change here): clear Mod/Ref bits of callers before inlining into a function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4833 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-25Keep global nodes in each DS Graph (by forcing them to be marked live).Vikram S. Adve
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4831 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-18Add peak memory usage measurement stuffChris Lattner
Add structure padding optimizations git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4749 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-18Add peak memory usage supportChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4748 91177308-0d34-0410-b5e6-96231b3b80d8