summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Fix a bug that andrew noticed where we do not correctly sign/zero extendChris Lattner2005-03-291-4/+13
| | | | | | | | returned integer values all of the way to 64-bits (we only did it to 32-bits leaving the top bits undefined). This causes problems for targets like alpha whose ABI's define the top bits too. llvm-svn: 20926
* 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
* fix a warning in the optimized buildChris Lattner2005-03-291-0/+2
| | | | llvm-svn: 20920
* add some more functions, ignore setcc for constraints!Chris Lattner2005-03-291-4/+9
| | | | llvm-svn: 20917
* disable this transformation in the one obscure case that really pessimizesChris Lattner2005-03-291-0/+3
| | | | | | pointer analysis. llvm-svn: 20916
* 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
* Implement div, rem, and frameindexNate Begeman2005-03-291-8/+27
| | | | llvm-svn: 20907
* Pattern ISel: fix argument loading for i64s (thanks chris)Nate Begeman2005-03-282-42/+26
| | | | | | Simple ISel: fix i64 subtract llvm-svn: 20903
* Remove fake instruction 'subc' (mnemonic for subfc).Nate Begeman2005-03-283-12/+42
| | | | | | More pattern isel updates llvm-svn: 20902
* implement legalization of build_pair for nateChris Lattner2005-03-281-0/+8
| | | | llvm-svn: 20901
* First step in adding pcmarker intrinsic. Second step (soon) is adding ↵Andrew Lenharth2005-03-283-0/+9
| | | | | | backend support. llvm-svn: 20900
* Implement proper loads and zero-extends of all typesNate Begeman2005-03-281-12/+61
| | | | llvm-svn: 20897
* Emit .global @function and .global @object entries so the Intel iasDuraid Madina2005-03-281-7/+21
| | | | | | assembler may be used; identify LLVM output as such. llvm-svn: 20892
* 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
* Rename createPromoteMemoryToRegister() toAlkis Evlogimenos2005-03-281-2/+1
| | | | | | | createPromoteMemoryToRegisterPass() to be consistent with other pass creation functions. llvm-svn: 20885
* 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
* 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
OpenPOWER on IntegriCloud