Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | 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 | |||||
* | eliminate dead variables, patch contributed by Gabor Greif! | Chris Lattner | 2005-03-24 | 3 | -6/+0 | |
| | | | | llvm-svn: 20812 | |||||
* | Implement more of the PPC32 Pattern ISel: | Nate Begeman | 2005-03-24 | 3 | -35/+124 | |
| | | | | | | | | | | | | | 1) dynamic stack alloc 2) loads 3) shifts 4) subtract 5) immediate form of add, and, or, xor 6) change flag from -pattern-isel to -enable-ppc-pattern-isel Remove dead arguments from getGlobalBaseReg in the simple ISel llvm-svn: 20810 | |||||
* | Fix silly "no newline at end of file" warning | Chris Lattner | 2005-03-24 | 1 | -1/+2 | |
| | | | | llvm-svn: 20809 | |||||
* | Fix compilation errors, patch contributed by the fabulous Bill Wendling! | Chris Lattner | 2005-03-24 | 1 | -0/+1 | |
| | | | | llvm-svn: 20808 | |||||
* | fix a compilation error, patch contributed by Bill Wendling! | Chris Lattner | 2005-03-24 | 1 | -0/+1 | |
| | | | | llvm-svn: 20807 | |||||
* | Addition of the PPC32 Pattern ISel. While it is far from complete, it will | Nate Begeman | 2005-03-24 | 3 | -0/+761 | |
| | | | | | | | be brought up to parity with the current simple ISel in the coming days. Currently, -pattern-isel is required to trigger it. llvm-svn: 20805 | |||||
* | Remove comments that are now meaningless from the pattern ISels, at Chris's | Nate Begeman | 2005-03-24 | 3 | -6/+3 | |
| | | | | | | request. llvm-svn: 20804 | |||||
* | 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 | |||||
* | enable -debug-only=licm | Chris Lattner | 2005-03-23 | 1 | -0/+1 | |
| | | | | llvm-svn: 20788 | |||||
* | 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 | |||||
* | don't lie to the register allocator | Andrew Lenharth | 2005-03-23 | 1 | -2/+2 | |
| | | | | llvm-svn: 20784 | |||||
* | 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 | |||||
* | Added alias analysis. | Tanya Lattner | 2005-03-23 | 6 | -193/+724 | |
| | | | | | | | Fixed many many bugs. This now works on almost all Singlesource , and most of MultiSource. llvm-svn: 20780 | |||||
* | implement Analysis/DSGraph/field-sensitive.ll | Chris Lattner | 2005-03-23 | 1 | -3/+2 | |
| | | | | llvm-svn: 20779 | |||||
* | don't crash in some bad cases. | Chris Lattner | 2005-03-23 | 1 | -0/+3 | |
| | | | | llvm-svn: 20776 | |||||
* | 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 | |||||
* | hum, it is good to use real instructions | Andrew Lenharth | 2005-03-22 | 1 | -2/+2 | |
| | | | | llvm-svn: 20769 | |||||
* | Directly count the number of memory instructions. | Chris Lattner | 2005-03-22 | 1 | -4/+9 | |
| | | | | llvm-svn: 20766 | |||||
* | Timers SHOULD NOT record the time taken to count the bytes allocated in the ↵ | Chris Lattner | 2005-03-22 | 1 | -2/+2 | |
| | | | | | | heap! llvm-svn: 20765 | |||||
* | 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 | |||||
* | two things: 1)evilness reduction patch, reduces the number of instructions ↵ | Andrew Lenharth | 2005-03-22 | 2 | -9/+58 | |
| | | | | | | hiding in the small jump CC moving code. 2)implement div of small data types by FP DIV (also reduces evilness and should speed things up) llvm-svn: 20756 | |||||
* | 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 | |||||
* | Enhance the TD pass to build composite graphs when we have indirect call | Chris Lattner | 2005-03-21 | 1 | -17/+108 | |
| | | | | | | | | | | sites that target multiple callees. If we have a function table, for example, with N callees, and M callers call through it, we used to have to perform O(M*N) graph inlinings. Now we perform O(M+N) inlinings. This speeds up the td pass on perlbmk from 36.26s to 25.75s. llvm-svn: 20743 | |||||
* | make this const correct | Chris Lattner | 2005-03-21 | 1 | -2/+2 | |
| | | | | llvm-svn: 20741 | |||||
* | Fix a major problem where we didn't add call graph edges for call sites with | Chris Lattner | 2005-03-21 | 1 | -6/+10 | |
| | | | | | | more than 1 callee. This fixes Analysis/DSGraph/FunctionPointerTable-const.ll llvm-svn: 20740 |