| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | Cache mapping information for a call site after computing it for a mod/ref | Chris Lattner | 2005-03-26 | 1 | -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 info | Chris Lattner | 2005-03-26 | 1 | -32/+0 | |
| | | | | | llvm-svn: 20870 | |||||
| * | remove some unsafe code that has long been dead | Chris Lattner | 2005-03-26 | 1 | -24/+0 | |
| | | | | | llvm-svn: 20869 | |||||
| * | slightly improve mod/ref for DSAA by checking the globals graph for fallback | Chris Lattner | 2005-03-26 | 1 | -0/+12 | |
| | | | | | llvm-svn: 20868 | |||||
| * | Teach steens-aa two things about mod/ref information: | Chris Lattner | 2005-03-26 | 1 | -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 site | Chris Lattner | 2005-03-26 | 1 | -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 Lattner | 2005-03-25 | 1 | -14/+19 | |
| | | | | | llvm-svn: 20837 | |||||
| * | Don't count all of the nodes in the SCC once for each function in the SCC. | Chris Lattner | 2005-03-25 | 1 | -4/+9 | |
| | | | | | llvm-svn: 20836 | |||||
| * | Grow the EQ classes for globals at the end of the BU pass. This shrinks | Chris Lattner | 2005-03-25 | 1 | -0/+93 | |
| | | | | | | | memory usage in the TD pass for 254.gap from 31.3MB to 3.9MB. llvm-svn: 20834 | |||||
| * | Treat free operations as volatile, since they cannot be moved. This fixes | Chris Lattner | 2005-03-25 | 1 | -0/+3 | |
| | | | | | | | Transforms/LICM/2005-03-24-LICM-Aggregate-Crash.ll llvm-svn: 20830 | |||||
| * | remove a debugging timer. | Chris Lattner | 2005-03-25 | 1 | -4/+1 | |
| | | | | | llvm-svn: 20827 | |||||
| * | Two changes here: | Chris Lattner | 2005-03-25 | 1 | -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 Lattner | 2005-03-25 | 1 | -2/+6 | |
| | | | | | llvm-svn: 20825 | |||||
| * | add a new DSGraph::spliceFrom method, which violently takes the content of | Chris Lattner | 2005-03-24 | 1 | -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-finder | Chris Lattner | 2005-03-24 | 1 | -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 the | Chris Lattner | 2005-03-24 | 1 | -4/+9 | |
| | | | | | | | bu pass for 176.gcc llvm-svn: 20818 | |||||
| * | Unfortunately, a previous patch was not safe. Revert it, reimplement | Chris Lattner | 2005-03-24 | 1 | -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's | Chris Lattner | 2005-03-24 | 3 | -4/+2 | |
| | | | | | llvm-svn: 20815 | |||||
| * | be more aggressive about incompleteness marking | Chris Lattner | 2005-03-24 | 1 | -3/+2 | |
| | | | | | llvm-svn: 20814 | |||||
| * | Fix a crash while promoting a value out of a loop from a global variable | Chris Lattner | 2005-03-24 | 2 | -2/+20 | |
| | | | | | | | when using ds-aa llvm-svn: 20802 | |||||
| * | teach ds-aa about mod/ref for external function calls. | Chris Lattner | 2005-03-24 | 1 | -1/+25 | |
| | | | | | llvm-svn: 20801 | |||||
| * | Simplify dead code into a fixme :) | Chris Lattner | 2005-03-24 | 1 | -13/+4 | |
| | | | | | llvm-svn: 20800 | |||||
| * | fix a compiler crash in runtime/libprofile | Chris Lattner | 2005-03-24 | 1 | -1/+1 | |
| | | | | | llvm-svn: 20799 | |||||
| * | wrap a long line | Chris Lattner | 2005-03-23 | 1 | -1/+2 | |
| | | | | | llvm-svn: 20797 | |||||
| * | If we are calling an external function, chain to another AA to potentially | Chris Lattner | 2005-03-23 | 1 | -8/+20 | |
| | | | | | | | | | decide, don't just immediately give up. This implements GlobalsModRef/chaining-analysis.ll llvm-svn: 20796 | |||||
| * | Make this more efficient by only making one virtual method call. | Chris Lattner | 2005-03-23 | 1 | -4/+6 | |
| | | | | | llvm-svn: 20793 | |||||
| * | Make this a bit more aggressive | Chris Lattner | 2005-03-23 | 1 | -1/+1 | |
| | | | | | llvm-svn: 20792 | |||||
| * | a hack to allow count-aa to work with ds-aa :( | Chris Lattner | 2005-03-23 | 1 | -1/+1 | |
| | | | | | llvm-svn: 20791 | |||||
| * | Add two options to allow -count-aa to print queries either (1) all queries, | Chris Lattner | 2005-03-23 | 1 | -25/+59 | |
| | | | | | | | or (2) only queries that are not successful (e.g. return may alias) llvm-svn: 20790 | |||||
| * | turn a dead conditional into an assert. | Chris Lattner | 2005-03-23 | 1 | -9/+5 | |
| | | | | | llvm-svn: 20787 | |||||
| * | Totally gut mergeInGraph. There is absolutely no reason to be merging | Chris Lattner | 2005-03-23 | 1 | -73/+47 | |
| | | | | | | | | | | | | global roots in from callees to callers. The BU graphs do not have accurate globals information and all of the clients know it. Instead, just make sure the GG is up-to-date, and they will be perfectly satiated. This speeds up the BU pass on 176.gcc from 5.5s to 1.5s, and Loc+BU+TD from 7s to 2.7s. llvm-svn: 20786 | |||||
| * | wrap a long line | Chris Lattner | 2005-03-23 | 1 | -1/+2 | |
| | | | | | llvm-svn: 20785 | |||||
| * | Make -steens-aa more conservative (aka correct) by making sure to obey | Chris Lattner | 2005-03-23 | 1 | -8/+18 | |
| | | | | | | | | | | incompleteness flags. Make it more aggressive by taking field sensitive information into account. llvm-svn: 20781 | |||||
| * | implement Analysis/DSGraph/field-sensitive.ll | Chris Lattner | 2005-03-23 | 1 | -3/+2 | |
| | | | | | llvm-svn: 20779 | |||||
| * | Several changes here: | Chris Lattner | 2005-03-22 | 1 | -19/+42 | |
| | | | | | | | | | | | | | 1. Increase max node size from 64->256 to avoid collapsing an important structure in 181.mcf 2. If we have multiple calls to an indirect call node with an indirect callee, fold these call nodes together, to avoid DSA turning apoc into a flaming fireball of death when analyzing 176.gcc. With this change, 176.gcc now takes ~7s to analyze for loc+bu+td, with 5.7s of that in the BU pass. llvm-svn: 20775 | |||||
| * | Mark external globals incomplete in the BU Globals graph, fixing | Chris Lattner | 2005-03-22 | 1 | -0/+3 | |
| | | | | | | | Analysis/DSGraph/2005-03-22-IncompleteGlobal.ll llvm-svn: 20773 | |||||
| * | Directly count the number of memory instructions. | Chris Lattner | 2005-03-22 | 1 | -4/+9 | |
| | | | | | llvm-svn: 20766 | |||||
| * | Remove an iteration pass over the entire scalarmap for each function created | Chris Lattner | 2005-03-22 | 1 | -15/+8 | |
| | | | | | | | | by not allowing integer constants to get into the scalar map in the first place. llvm-svn: 20764 | |||||
| * | When making a clone of a DSGraph from the BU pass, make sure to remember that | Chris Lattner | 2005-03-22 | 1 | -1/+8 | |
| | | | | | | | | | | | this clone is supposed to be used for *ALL* of the functions in the SCC. This fixes the memory explosion problem the TD pass was having, reducing the memory growth from 24MB -> 3.5MB on povray and 270MB ->8.3MB on perlbmk! This obviously also speeds up the TD pass *a lot*. llvm-svn: 20763 | |||||
| * | Don't use operator[], use the new method instead, which is faster. This speeds | Chris Lattner | 2005-03-22 | 1 | -1/+1 | |
| | | | | | | | | up the TD pass about 30% for povray and perlbmk. It's still not clear why copying a 5MB set of graphs turns into a 25MB set of graphs though :( llvm-svn: 20762 | |||||
| * | Now that the dead ctor is gone, nothing uses the old node mapping exported by | Chris Lattner | 2005-03-22 | 5 | -25/+12 | |
| | | | | | | | cloneInto: make it an internally used mapping. llvm-svn: 20760 | |||||
| * | remove a dead ctor | Chris Lattner | 2005-03-22 | 1 | -7/+0 | |
| | | | | | llvm-svn: 20759 | |||||
| * | now that the second argument is always this->ReturnNodes, don't bother ↵ | Chris Lattner | 2005-03-22 | 5 | -16/+18 | |
| | | | | | | | passing it. llvm-svn: 20758 | |||||
| * | instead of using a local RetValMap, just use the graph we are cloning into | Chris Lattner | 2005-03-22 | 1 | -8/+5 | |
| | | | | | | | for the return node map. llvm-svn: 20757 | |||||
| * | now that the valuemapping is always the local scalar map, we can eliminate | Chris Lattner | 2005-03-22 | 1 | -4/+0 | |
| | | | | | | | this identity merge. llvm-svn: 20755 | |||||
| * | remove the second argument to cloneInto | Chris Lattner | 2005-03-22 | 5 | -19/+14 | |
| | | | | | llvm-svn: 20754 | |||||
| * | add some timers, don't clone aux nodes | Chris Lattner | 2005-03-22 | 1 | -2/+29 | |
| | | | | | llvm-svn: 20752 | |||||
| * | move this out of line | Chris Lattner | 2005-03-22 | 1 | -0/+28 | |
| | | | | | llvm-svn: 20751 | |||||
| * | don't generate temporary scalarmaps. | Chris Lattner | 2005-03-22 | 1 | -17/+5 | |
| | | | | | llvm-svn: 20749 | |||||
| * | allow passing clone flags down to cloneInto | Chris Lattner | 2005-03-21 | 1 | -2/+3 | |
| | | | | | llvm-svn: 20748 | |||||

