summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/DataStructure
Commit message (Collapse)AuthorAgeFilesLines
...
* allow field sensitivity to be a tunable parameterAndrew Lenharth2006-03-151-2/+6
| | | | llvm-svn: 26777
* Handle one offset with growth case seen in povray. Namely, if we have an ↵Andrew Lenharth2006-03-151-10/+39
| | | | | | | | | offset, and the offset lands at a field boundary in the old type, construct a new type, copying the fields masked by the offset from the old type, and unify with that. llvm-svn: 26775
* improve mem intrinsics and add a few things povray usesAndrew Lenharth2006-03-151-3/+30
| | | | llvm-svn: 26774
* Split memcpy/memset/memmove intrinsics into i32/i64 versions, resolvingChris Lattner2006-03-031-3/+6
| | | | | | PR709, and paving the way for future progress. llvm-svn: 26476
* Add explicit iostream #includesChris Lattner2006-01-226-1/+6
| | | | llvm-svn: 25513
* Add explicit #includes of <iostream>Chris Lattner2006-01-222-0/+2
| | | | llvm-svn: 25509
* Prefix DSA specific options with dsa.John Criswell2005-12-191-4/+4
| | | | | | Make the dsa-alloc-list and dsa-free-list options hidden. llvm-svn: 24864
* Added an option to specify the names of heap freeing functions.John Criswell2005-12-191-0/+20
| | | | llvm-svn: 24863
* Added a command line option that allows the user to specify a list ofJohn Criswell2005-12-191-0/+19
| | | | | | functions that allocate memory. llvm-svn: 24862
* Collapsing node if variable length struct with final field of length zeroSumant Kowshik2005-12-061-1/+18
| | | | llvm-svn: 24621
* don't bother building the archive version of this libraryChris Lattner2005-10-241-1/+1
| | | | llvm-svn: 23927
* implement some prototypesChris Lattner2005-10-242-0/+10
| | | | llvm-svn: 23920
* Eliminate all remaining tabs and trailing spaces.Jeff Cohen2005-07-271-1/+1
| | | | llvm-svn: 22523
* core changes for varargsAndrew Lenharth2005-06-181-5/+1
| | | | llvm-svn: 22254
* 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
* Convert tabs to spacesMisha Brukman2005-04-221-6/+6
| | | | llvm-svn: 21439
* Remove trailing whitespaceMisha Brukman2005-04-2112-183/+183
| | | | 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
* 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
* Fix a problem where we not marking incoming arguments to functions withChris Lattner2005-03-292-5/+14
| | | | | | external linkage as incomplete. llvm-svn: 20927
* 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
* Don't give up completely, maybe other AA can say something about this.Chris Lattner2005-03-271-1/+2
| | | | llvm-svn: 20873
* 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
* 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
* remove a debugging timer.Chris Lattner2005-03-251-4/+1
| | | | llvm-svn: 20827
* Two changes here:Chris Lattner2005-03-251-47/+41
| | | | | | | | | | | 1. Instead of copying Local graphs to the BU graphs to start with, use spliceFrom to do the job (which is constant time in this case). On 176.gcc, this chops off .17s from the bu pass. 2. When building SCC graphs, simplify the logic and use spliceFrom to do the heavy lifting, instead of cloneInto/delete. This slices another .14s off 176.gcc. llvm-svn: 20826
* Make the spliceFrom case where one graph is completely empty be constant time.Chris Lattner2005-03-251-2/+6
| | | | llvm-svn: 20825
* add a new DSGraph::spliceFrom method, which violently takes the content ofChris Lattner2005-03-241-0/+41
| | | | | | one graph and plops it into another, without breaking a sweat. llvm-svn: 20824
* This replaces the correct but slow code with a more aggressive scc-finderChris Lattner2005-03-241-54/+97
| | | | | | | | based approach to find globals and call sites that need to be copied. This speeds up the BU pass on 176.gcc from 22s back up to 2.3s. Not as good as 1.5s, but at least it's correct :) llvm-svn: 20820
* only look at successors of globals. This gets us down to "only" 22s in theChris Lattner2005-03-241-4/+9
| | | | | | bu pass for 176.gcc llvm-svn: 20818
* Unfortunately, a previous patch was not safe. Revert it, reimplementChris Lattner2005-03-241-40/+93
| | | | | | | something correct. Unfortunately this takes 176.gcc's BU phase back up to 29s from 1.5. This fixes DSGraph/2005-03-24-Global-Arg-Alias.ll llvm-svn: 20817
* don't bother |'ing in 0'sChris Lattner2005-03-243-4/+2
| | | | llvm-svn: 20815
* be more aggressive about incompleteness markingChris Lattner2005-03-241-3/+2
| | | | llvm-svn: 20814
* Fix a crash while promoting a value out of a loop from a global variableChris Lattner2005-03-242-2/+20
| | | | | | when using ds-aa llvm-svn: 20802
* teach ds-aa about mod/ref for external function calls.Chris Lattner2005-03-241-1/+25
| | | | llvm-svn: 20801
* a hack to allow count-aa to work with ds-aa :(Chris Lattner2005-03-231-1/+1
| | | | llvm-svn: 20791
* turn a dead conditional into an assert.Chris Lattner2005-03-231-9/+5
| | | | llvm-svn: 20787
OpenPOWER on IntegriCloud