summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis
Commit message (Collapse)AuthorAgeFilesLines
* because on alpha:Andrew Lenharth2005-07-111-0/+1
| | | | | | | | # define errno (*__errno_location ()) *shakes head llvm-svn: 22383
* the correct fix was to fix AliasAnalysis.getModRefInfoAndrew Lenharth2005-06-201-4/+0
| | | | llvm-svn: 22268
* prevent GCSE from forwarding stores to loads around vaarg. This is uggly, ↵Andrew Lenharth2005-06-201-0/+4
| | | | | | and I am trying to fix the AliasInfo, as it should catch the problem instead. llvm-svn: 22266
* core changes for varargsAndrew Lenharth2005-06-182-10/+1
| | | | llvm-svn: 22254
* By definition, 'tail' calls cannot access the stack frame of their caller.Chris Lattner2005-05-081-0/+6
| | | | | | | Expose this as a simple form of mod/ref information. This implements BasicAA/tailcall-modref.ll llvm-svn: 21796
* These intrinsics do not access memoryChris Lattner2005-05-061-1/+1
| | | | llvm-svn: 21718
* Remove extra blank lineMisha Brukman2005-05-051-1/+0
| | | | llvm-svn: 21706
* Add llvm.sqrt intrinsic, patch contributed by Morten OfstadChris Lattner2005-04-301-1/+1
| | | | llvm-svn: 21627
* These functions can set errno!Chris Lattner2005-04-281-2/+2
| | | | llvm-svn: 21609
* Make interval partition print correctly, patch contributed byChris Lattner2005-04-261-2/+2
| | | | | | Vladimir Prus! llvm-svn: 21566
* Correctly handle global-argument aliases induced in mainChris Lattner2005-04-251-2/+30
| | | | llvm-svn: 21537
* Don't mess up SCC traversal when a node has null edges out of it.Chris Lattner2005-04-251-5/+6
| | | | llvm-svn: 21536
* Propagate eq sets through the bu graphs to the cbu and eq graphs, fixingChris Lattner2005-04-231-0/+1
| | | | | | a crash of the sfv on 188.ammp llvm-svn: 21478
* Malloc/Free have mod/ref effects. Do not allow CSE of function calls thatChris Lattner2005-04-221-0/+2
| | | | | | call malloc/free. This fixes PR555. llvm-svn: 21443
* Convert tabs to spacesMisha Brukman2005-04-227-28/+28
| | | | llvm-svn: 21439
* Remove trailing whitespaceMisha Brukman2005-04-2137-439/+439
| | | | llvm-svn: 21416
* add support for taking and resolving the address of free.Chris Lattner2005-04-211-2/+31
| | | | llvm-svn: 21396
* Fix a crash analyzing MultiSource/Benchmarks/MallocBench/gsChris Lattner2005-04-121-2/+1
| | | | llvm-svn: 21245
* Don't make this require loopsimplify. It works BETTER with loop simplifyChris Lattner2005-04-061-1/+0
| | | | | | but should not require it. llvm-svn: 21123
* do not crash when using -debugChris Lattner2005-04-051-0/+4
| | | | llvm-svn: 21092
* do not dereference an extra layer of pointers to determine if an externalChris Lattner2005-04-041-12/+5
| | | | | | | call can modify a memory location. This fixes test/Regression/Analysis/Andersens/modreftest.ll llvm-svn: 21088
* fix some VC compilation problems, thanks to Jeff C for pointing this out!Chris Lattner2005-04-021-4/+3
| | | | llvm-svn: 21044
* EquivClassGraphs is now in DataStructure.hChris Lattner2005-04-022-3/+1
| | | | llvm-svn: 21042
* use a callee_iterator typedef.Chris Lattner2005-04-023-9/+7
| | | | llvm-svn: 21038
* Change the ActualCallees callgraph from hash_multimap<Instruction,Function>Chris Lattner2005-04-025-78/+40
| | | | | | | | | to std::set<std::pair<Inst,Func>> to avoid duplicate entries. This speeds up the CompleteBU pass from 1.99s to .15s on povray and the eqgraph passes from 1.5s to .16s on the same. llvm-svn: 21031
* import all of the rest of the stubs that dsa uses for direct comparisonChris Lattner2005-03-291-11/+43
| | | | llvm-svn: 20932
* learn about some more functions.Chris Lattner2005-03-291-4/+7
| | | | llvm-svn: 20929
* Fix a problem where we not marking incoming arguments to functions withChris Lattner2005-03-292-5/+14
| | | | | | external linkage as incomplete. llvm-svn: 20927
* there is no point comparing against null pointer.Chris Lattner2005-03-291-2/+3
| | | | llvm-svn: 20925
* Fix a major problem with global variable initializers. This could causeChris Lattner2005-03-291-1/+2
| | | | | | | us to have stuff pointing to the null pointer, which makes no sense (the null ptr is an ssa value, not the null object) llvm-svn: 20922
* add some more functions, ignore setcc for constraints!Chris Lattner2005-03-291-4/+9
| | | | llvm-svn: 20917
* Handle "known" external calls context sensitively, add support for reallocChris Lattner2005-03-291-17/+29
| | | | | | | | and a couple of other functions that are important. Handle aggregate undef values for gv initializers llvm-svn: 20914
* Teach andersens that non-escaping memory cannot be mod/ref'd by external fn ↵Chris Lattner2005-03-281-2/+40
| | | | | | calls. llvm-svn: 20891
* Fix grammarMisha Brukman2005-03-281-1/+1
| | | | llvm-svn: 20890
* Make anders-aa much more precise by not being completely pessimistic aboutChris Lattner2005-03-281-1/+39
| | | | | | external functions. Teach it about a few important ones. llvm-svn: 20889
* wrap some long linesChris Lattner2005-03-271-5/+10
| | | | llvm-svn: 20884
* remove ...Chris Lattner2005-03-271-2/+2
| | | | llvm-svn: 20883
* speed up steens by using spliceFrom, improve its precision by realizing thatChris Lattner2005-03-271-5/+10
| | | | | | an incomplete node cannot alias a complete node. llvm-svn: 20882
* teach andersens about undefChris Lattner2005-03-271-1/+1
| | | | llvm-svn: 20881
* Don't give up completely, maybe other AA can say something about this.Chris Lattner2005-03-271-1/+2
| | | | llvm-svn: 20873
* Factor out percentage printing into its own function. Make two changes toChris Lattner2005-03-261-14/+19
| | | | | | | | the function: print more precision XX.X% instead of XX%, and cast to ULL before scaling by 100/1000 to avoid wrap around for large numbers of queries (such as occur for 253.perlbmk and 176.gcc) llvm-svn: 20872
* 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 llvm-svn: 20871
* Remove more long dead code: dsa doesn't provide must alias infoChris Lattner2005-03-261-32/+0
| | | | llvm-svn: 20870
* remove some unsafe code that has long been deadChris Lattner2005-03-261-24/+0
| | | | llvm-svn: 20869
* slightly improve mod/ref for DSAA by checking the globals graph for fallbackChris Lattner2005-03-261-0/+12
| | | | llvm-svn: 20868
* Teach steens-aa two things about mod/ref information:Chris Lattner2005-03-261-3/+33
| | | | | | | | | 1. If memory never escapes the program, it cannot be mod/ref'd by external functions. 2. If memory is global never mod/ref'd in the program, it cannot be mod/ref'd by any call. llvm-svn: 20867
* Interchange this loop so that we test all pointers against one call siteChris Lattner2005-03-261-10/+11
| | | | | | | before moving on to the next call site. This will be a more efficient way to compute the mod/ref set for AA implementations like DSA. llvm-svn: 20866
* no really, don't double count these nodes either!Chris Lattner2005-03-251-14/+19
| | | | llvm-svn: 20837
* Don't count all of the nodes in the SCC once for each function in the SCC.Chris Lattner2005-03-251-4/+9
| | | | llvm-svn: 20836
* Grow the EQ classes for globals at the end of the BU pass. This shrinksChris Lattner2005-03-251-0/+93
| | | | | | memory usage in the TD pass for 254.gap from 31.3MB to 3.9MB. llvm-svn: 20834
OpenPOWER on IntegriCloud