summaryrefslogtreecommitdiff
path: root/lib/Analysis/IPA
Commit message (Collapse)AuthorAge
* move calltarget to dsaAndrew Lenharth2006-05-29
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28546 91177308-0d34-0410-b5e6-96231b3b80d8
* Since there was interest on the mailing list, this is a utility pass thatAndrew Lenharth2006-05-29
| | | | | | | | | uses DSA to make find targets of calls. It provides a very convinient interface to DSA results to do things with indirect calls, such as write a devirtualizer (which I have and may commit one of these days). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28545 91177308-0d34-0410-b5e6-96231b3b80d8
* Patches to make the LLVM sources more -pedantic clean. Patch providedChris Lattner2006-05-24
| | | | | | | by Anton Korobeynikov! This is a step towards closing PR786. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28447 91177308-0d34-0410-b5e6-96231b3b80d8
* updates for recent changesChris Lattner2006-03-03
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26481 91177308-0d34-0410-b5e6-96231b3b80d8
* Add explicit iostream #includesChris Lattner2006-01-22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25513 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new CallGraph::getOrInsertFunction for clients to use when updatingChris Lattner2006-01-14
| | | | | | | the callgraph. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25317 91177308-0d34-0410-b5e6-96231b3b80d8
* add a dump method to CallGraphChris Lattner2006-01-14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25314 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove unused inclusion of SymbolTable.hReid Spencer2006-01-10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25170 91177308-0d34-0410-b5e6-96231b3b80d8
* Separate the call graph implementation from its interface. This implementsChris Lattner2005-12-22
| | | | | | | | | | the rough idea sketched out in http://nondot.org/sabre/LLVMNotes/CallGraphClass.txt, allowing new spiffy implementations of the callgraph interface to be built. Many thanks to Saem Ghani for contributing this! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24944 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove this pass, it is not usefulChris Lattner2005-10-24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23949 91177308-0d34-0410-b5e6-96231b3b80d8
* DONT_BUILD_RELINKED is gone and implied by BUILD_ARCHIVE nowChris Lattner2005-10-24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23940 91177308-0d34-0410-b5e6-96231b3b80d8
* Only build .a file versions of these libraries, instead of .a and .o versions.Chris Lattner2005-10-24
| | | | | | | This should speed up build times. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23933 91177308-0d34-0410-b5e6-96231b3b80d8
* move this to the analyze toolChris Lattner2005-10-24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23918 91177308-0d34-0410-b5e6-96231b3b80d8
* core changes for varargsAndrew Lenharth2005-06-18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22254 91177308-0d34-0410-b5e6-96231b3b80d8
* Malloc/Free have mod/ref effects. Do not allow CSE of function calls thatChris Lattner2005-04-22
| | | | | | | call malloc/free. This fixes PR555. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21443 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert tabs to spacesMisha Brukman2005-04-22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21439 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove trailing whitespaceMisha Brukman2005-04-21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21416 91177308-0d34-0410-b5e6-96231b3b80d8
* do not crash when using -debugChris Lattner2005-04-05
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21092 91177308-0d34-0410-b5e6-96231b3b80d8
* do not dereference an extra layer of pointers to determine if an externalChris Lattner2005-04-04
| | | | | | | | call can modify a memory location. This fixes test/Regression/Analysis/Andersens/modreftest.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21088 91177308-0d34-0410-b5e6-96231b3b80d8
* import all of the rest of the stubs that dsa uses for direct comparisonChris Lattner2005-03-29
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20932 91177308-0d34-0410-b5e6-96231b3b80d8
* learn about some more functions.Chris Lattner2005-03-29
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20929 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a major problem with global variable initializers. This could causeChris Lattner2005-03-29
| | | | | | | | us to have stuff pointing to the null pointer, which makes no sense (the null ptr is an ssa value, not the null object) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20922 91177308-0d34-0410-b5e6-96231b3b80d8
* add some more functions, ignore setcc for constraints!Chris Lattner2005-03-29
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20917 91177308-0d34-0410-b5e6-96231b3b80d8
* Handle "known" external calls context sensitively, add support for reallocChris Lattner2005-03-29
| | | | | | | | | and a couple of other functions that are important. Handle aggregate undef values for gv initializers git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20914 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach andersens that non-escaping memory cannot be mod/ref'd by external fn ↵Chris Lattner2005-03-28
| | | | | | calls. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20891 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix grammarMisha Brukman2005-03-28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20890 91177308-0d34-0410-b5e6-96231b3b80d8
* Make anders-aa much more precise by not being completely pessimistic aboutChris Lattner2005-03-28
| | | | | | | external functions. Teach it about a few important ones. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20889 91177308-0d34-0410-b5e6-96231b3b80d8
* wrap some long linesChris Lattner2005-03-27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20884 91177308-0d34-0410-b5e6-96231b3b80d8
* teach andersens about undefChris Lattner2005-03-27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20881 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify dead code into a fixme :)Chris Lattner2005-03-24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20800 91177308-0d34-0410-b5e6-96231b3b80d8
* fix a compiler crash in runtime/libprofileChris Lattner2005-03-24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20799 91177308-0d34-0410-b5e6-96231b3b80d8
* wrap a long lineChris Lattner2005-03-23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20797 91177308-0d34-0410-b5e6-96231b3b80d8
* If we are calling an external function, chain to another AA to potentiallyChris Lattner2005-03-23
| | | | | | | | | decide, don't just immediately give up. This implements GlobalsModRef/chaining-analysis.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20796 91177308-0d34-0410-b5e6-96231b3b80d8
* This mega patch converts us from using Function::a{iterator|begin|end} toChris Lattner2005-03-15
| | | | | | | | | using Function::arg_{iterator|begin|end}. Likewise Module::g* -> Module::global_*. This patch is contributed by Gabor Greif, thanks! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20597 91177308-0d34-0410-b5e6-96231b3b80d8
* Add even more missing createXxxPass functions.Jeff Cohen2005-01-08
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19402 91177308-0d34-0410-b5e6-96231b3b80d8
* Actually overload the virtual method. This fixesChris Lattner2004-12-17
| | | | | | | | Regression/Analysis/GlobalsModRef/purecse.ll. Isn't this what the -Woverload-whatever flag would warn about :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19018 91177308-0d34-0410-b5e6-96231b3b80d8
* Adjust to new alias analysis interfacesChris Lattner2004-12-15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18957 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR387:\Reid Spencer2004-12-07
| | | | | | | Add getModRefInfo method to avoid overloaded virtuals git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18601 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR387:\Reid Spencer2004-12-07
| | | | | | | | Make only one print method to avoid overloaded virtual warnings when \ compiled with -Woverloaded-virtual git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18589 91177308-0d34-0410-b5e6-96231b3b80d8
* Mission accomplished!Chris Lattner2004-11-19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17990 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix library name.Alkis Evlogimenos2004-10-28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17306 91177308-0d34-0410-b5e6-96231b3b80d8
* We won't use automakeReid Spencer2004-10-22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17155 91177308-0d34-0410-b5e6-96231b3b80d8
* Initial automake generated Makefile templateReid Spencer2004-10-18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17136 91177308-0d34-0410-b5e6-96231b3b80d8
* Add supportChris Lattner2004-10-16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17052 91177308-0d34-0410-b5e6-96231b3b80d8
* Update to reflect changes in Makefile rules.Reid Spencer2004-10-13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16950 91177308-0d34-0410-b5e6-96231b3b80d8
* Build both archive and relinked objectsReid Spencer2004-10-10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16892 91177308-0d34-0410-b5e6-96231b3b80d8
* Initial version of automake Makefile.am file.Reid Spencer2004-10-10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16885 91177308-0d34-0410-b5e6-96231b3b80d8
* 'Pass' should now not be derived from by clients. Instead, they should deriveChris Lattner2004-09-20
| | | | | | | | 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
* Finegrainify namespacificationChris Lattner2004-09-20
| | | | | | | | | 'Pass' should now not be derived from by clients. Instead, they should derive from ModulePass. Instead of implementing Pass::run, then should implement ModulePass::runOnModule. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16434 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a nasty iterator invalidation problem I introduced yesterday. ThisChris Lattner2004-09-19
| | | | | | | | unfortunately is the cause of a bunch of failures from tonight, and the reason the tester is running so slow :( git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16407 91177308-0d34-0410-b5e6-96231b3b80d8