summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Fix that pesky floats in integer regs problem by assigning the f32 type toNate Begeman2005-03-261-8/+4
| | | | | | | the correct register class. Also remove the loading of float data into int regs part of varargs; it will need to be implemented differently later. llvm-svn: 20857
* Get closer to having varargs working. There's still something strangeNate Begeman2005-03-261-37/+38
| | | | | | | going on with copies between floating point and integer register files being generated. Once that is solved, varargs will be done. llvm-svn: 20856
* Make 64bit args and float args work correct with calls. Thanks to ChrisNate Begeman2005-03-261-10/+28
| | | | | | for explaining EXTRACT_ELEMENT to me. llvm-svn: 20847
* Change interface to LowerCallTo to take a boolean isVarArg argument.Nate Begeman2005-03-265-18/+21
| | | | llvm-svn: 20842
* Next round of pattern isel changes, mostly dealing with calls.Nate Begeman2005-03-261-31/+139
| | | | llvm-svn: 20841
* Correct a documention linkNate Begeman2005-03-261-2/+2
| | | | llvm-svn: 20840
* 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
* Support global addresses and fix call returns. Varargs still aren'tNate Begeman2005-03-251-6/+50
| | | | | | | handled correctly for floating point arguments, or more than 8 arguemnts. This does however, allow hello world to run. llvm-svn: 20832
* Enhance loopsimplify to preserve alias analysis instead of clobbering it.Chris Lattner2005-03-251-2/+15
| | | | | | This prevents crashes on some programs when using -ds-aa -licm. llvm-svn: 20831
* Treat free operations as volatile, since they cannot be moved. This fixesChris Lattner2005-03-251-0/+3
| | | | | | Transforms/LICM/2005-03-24-LICM-Aggregate-Crash.ll llvm-svn: 20830
* Fix a bug where LICM was not updating AA information properly when sinkingChris Lattner2005-03-251-1/+2
| | | | | | a pointer value out of a loop causing it to be duplicated. llvm-svn: 20828
* 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
* Implement next round of Pattern ISel fixesNate Begeman2005-03-241-38/+162
| | | | | | | | 1. void returns 2. multiplies 3. calls llvm-svn: 20822
* Fix an incorrect argument being passed to BuildMI for indirect calls.Nate Begeman2005-03-241-1/+1
| | | | llvm-svn: 20821
* 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
* Commit Gabor Greif's patch to use iterators in lowering intrinsics.Nate Begeman2005-03-241-7/+8
| | | | llvm-svn: 20816
* 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
* eliminate dead variables, patch contributed by Gabor Greif!Chris Lattner2005-03-243-6/+0
| | | | llvm-svn: 20812
* Implement more of the PPC32 Pattern ISel:Nate Begeman2005-03-243-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" warningChris Lattner2005-03-241-1/+2
| | | | llvm-svn: 20809
* Fix compilation errors, patch contributed by the fabulous Bill Wendling!Chris Lattner2005-03-241-0/+1
| | | | llvm-svn: 20808
* fix a compilation error, patch contributed by Bill Wendling!Chris Lattner2005-03-241-0/+1
| | | | llvm-svn: 20807
* Addition of the PPC32 Pattern ISel. While it is far from complete, it willNate Begeman2005-03-243-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'sNate Begeman2005-03-243-6/+3
| | | | | | request. llvm-svn: 20804
* 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
* Simplify dead code into a fixme :)Chris Lattner2005-03-241-13/+4
| | | | llvm-svn: 20800
* fix a compiler crash in runtime/libprofileChris Lattner2005-03-241-1/+1
| | | | llvm-svn: 20799
* wrap a long lineChris Lattner2005-03-231-1/+2
| | | | llvm-svn: 20797
* If we are calling an external function, chain to another AA to potentiallyChris Lattner2005-03-231-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 Lattner2005-03-231-4/+6
| | | | llvm-svn: 20793
* Make this a bit more aggressiveChris Lattner2005-03-231-1/+1
| | | | llvm-svn: 20792
* a hack to allow count-aa to work with ds-aa :(Chris Lattner2005-03-231-1/+1
| | | | llvm-svn: 20791
* Add two options to allow -count-aa to print queries either (1) all queries,Chris Lattner2005-03-231-25/+59
| | | | | | or (2) only queries that are not successful (e.g. return may alias) llvm-svn: 20790
* enable -debug-only=licmChris Lattner2005-03-231-0/+1
| | | | llvm-svn: 20788
* turn a dead conditional into an assert.Chris Lattner2005-03-231-9/+5
| | | | llvm-svn: 20787
* Totally gut mergeInGraph. There is absolutely no reason to be mergingChris Lattner2005-03-231-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 lineChris Lattner2005-03-231-1/+2
| | | | llvm-svn: 20785
* don't lie to the register allocatorAndrew Lenharth2005-03-231-2/+2
| | | | llvm-svn: 20784
* Make -steens-aa more conservative (aka correct) by making sure to obeyChris Lattner2005-03-231-8/+18
| | | | | | | | | incompleteness flags. Make it more aggressive by taking field sensitive information into account. llvm-svn: 20781
OpenPOWER on IntegriCloud