aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Analysis/DataStructure/DataStructureAA.cpp
Commit message (Collapse)AuthorAgeFilesLines
* simplify AnalysisGroup registration, eliminating one typeid call.Chris Lattner2006-08-281-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29932 91177308-0d34-0410-b5e6-96231b3b80d8
* eliminate RegisterOpt. It does the same thing as RegisterPass.Chris Lattner2006-08-271-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29925 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove trailing whitespaceMisha Brukman2005-04-211-9/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21416 91177308-0d34-0410-b5e6-96231b3b80d8
* remove ...Chris Lattner2005-03-271-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20883 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't give up completely, maybe other AA can say something about this.Chris Lattner2005-03-271-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20873 91177308-0d34-0410-b5e6-96231b3b80d8
* Cache mapping information for a call site after computing it for a mod/refChris Lattner2005-03-261-27/+81
| | | | | | | | | | query. If the next mod/ref query happens to be for the same call site (which is extremely likely), use the cache instead of recomputing the callee/caller mapping. This makes -aa-eval ***MUCH*** faster with ds-aa git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20871 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove more long dead code: dsa doesn't provide must alias infoChris Lattner2005-03-261-32/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20870 91177308-0d34-0410-b5e6-96231b3b80d8
* remove some unsafe code that has long been deadChris Lattner2005-03-261-24/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20869 91177308-0d34-0410-b5e6-96231b3b80d8
* slightly improve mod/ref for DSAA by checking the globals graph for fallbackChris Lattner2005-03-261-0/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20868 91177308-0d34-0410-b5e6-96231b3b80d8
* teach ds-aa about mod/ref for external function calls.Chris Lattner2005-03-241-1/+25
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20801 91177308-0d34-0410-b5e6-96231b3b80d8
* implement Analysis/DSGraph/field-sensitive.llChris Lattner2005-03-231-3/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20779 91177308-0d34-0410-b5e6-96231b3b80d8
* #ifdef out a function only used by #ifdef'd code.Chris Lattner2005-03-201-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20700 91177308-0d34-0410-b5e6-96231b3b80d8
* fix a bogus assertionChris Lattner2005-03-181-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20675 91177308-0d34-0410-b5e6-96231b3b80d8
* Rewrite DSAA::getModRefInfo to compute the mapping between caller and calleeChris Lattner2005-03-181-24/+47
| | | | | | | | | | | to determine mod/ref behavior, instead of creating a *copy* of the caller graph and inlining the callee graph into the copy. This speeds up aa-eval on Ptrdist/yacr2 from 109.13s to 3.98s, and gives identical results. The speedup is similar on other programs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20669 91177308-0d34-0410-b5e6-96231b3b80d8
* add some possibly bogus assertions.Chris Lattner2005-03-171-0/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20665 91177308-0d34-0410-b5e6-96231b3b80d8
* simplify this function a bit, allow DS-AA to build on/improve the mod/refChris Lattner2005-03-171-8/+11
| | | | | | | results returned by AA, not just use one or the other. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20662 91177308-0d34-0410-b5e6-96231b3b80d8
* Two changes:Chris Lattner2005-03-171-3/+3
| | | | | | | | | | 1. Chain to the parent implementation of M/R analysis if we can't find any information. It has some heuristics that often do well. 2. Do not clear all flags, this can make invalid nodes by turning nodes that used to be collapsed into non-collapsed nodes (fixing crashes) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20659 91177308-0d34-0410-b5e6-96231b3b80d8
* Make -ds-aa more useful, allowing it to be updated as xforms hack on the ↵Chris Lattner2005-01-241-0/+11
| | | | | | program. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19818 91177308-0d34-0410-b5e6-96231b3b80d8
* Add last four createXxxPass functionsJeff Cohen2005-01-091-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19424 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR387:\Reid Spencer2004-12-071-0/+3
| | | | | | | Add getModRefInfo method to avoid overloaded virtuals git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18601 91177308-0d34-0410-b5e6-96231b3b80d8
* 'Pass' should now not be derived from by clients. Instead, they should deriveChris Lattner2004-09-201-2/+2
| | | | | | | | from ModulePass. Instead of implementing Pass::run, then should implement ModulePass::runOnModule. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16436 91177308-0d34-0410-b5e6-96231b3b80d8
* Move all of the DSA headers into the Analysis/DataStructure subdir.Chris Lattner2004-07-071-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14663 91177308-0d34-0410-b5e6-96231b3b80d8
* Updates to work with the new auto-forwarding AA interface changesChris Lattner2004-05-231-9/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13682 91177308-0d34-0410-b5e6-96231b3b80d8
* If an object is not in the scalar map then it must be a global from anotherChris Lattner2004-04-261-33/+33
| | | | | | | graph. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13173 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement getModRefInfo() for DSA to calculate whether a function modifies orMisha Brukman2004-03-121-5/+39
| | | | | | | references a pointer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12330 91177308-0d34-0410-b5e6-96231b3b80d8
* Forward method request to chained aa implementationChris Lattner2004-01-301-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11024 91177308-0d34-0410-b5e6-96231b3b80d8
* minor cleanupsChris Lattner2004-01-271-3/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10985 91177308-0d34-0410-b5e6-96231b3b80d8
* Fine-grainify namespaces for this libraryChris Lattner2003-11-121-3/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9948 91177308-0d34-0410-b5e6-96231b3b80d8
* Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke2003-11-111-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
* Added LLVM project notice to the top of every C++ source file.John Criswell2003-10-201-0/+7
| | | | | | | Header files will be on the way. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9298 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixed spelling and grammar.Misha Brukman2003-09-111-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8478 91177308-0d34-0410-b5e6-96231b3b80d8
* Disable incorrect mustalias codeChris Lattner2003-07-021-1/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7087 91177308-0d34-0410-b5e6-96231b3b80d8
* Reduce amount of work we do calculating mustaliases if the arg is a globalChris Lattner2003-07-021-11/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7062 91177308-0d34-0410-b5e6-96231b3b80d8
* Expose must alias information for global variables, implementing: ↵Chris Lattner2003-06-291-46/+86
| | | | | | DSGraph/mustalias.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6973 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid double negativesChris Lattner2003-06-281-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6945 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove support for the MultiObject flag, which was fundamentally brokenChris Lattner2003-06-221-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6840 91177308-0d34-0410-b5e6-96231b3b80d8
* * Changes to make NodeType be private to DSNode.Chris Lattner2003-06-191-16/+29
| | | | | | | | | * Add new MultiObject flag to DSNode which keeps track of whether or not multiple objects have been merged into the node, allowing must-alias info to be tracked. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6794 91177308-0d34-0410-b5e6-96231b3b80d8
* Adjust to implement new AA interfaceChris Lattner2003-02-261-15/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5638 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't bother counting alias results, allow the AliasAnalysisCounter to do that.Chris Lattner2003-02-071-13/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5505 91177308-0d34-0410-b5e6-96231b3b80d8
* Initial implementation of ds-aaChris Lattner2003-02-031-0/+128
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5484 91177308-0d34-0410-b5e6-96231b3b80d8