summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Implement eliminateCallFramePseudoInstr().Brian Gaeke2004-10-101-6/+8
| | | | | | Wrap a long comment line. llvm-svn: 16883
* Model calls as *both* using *and* killing O0..O5, because callees use theBrian Gaeke2004-10-101-1/+2
| | | | | | | argument values passed in (so they're not dead until *after* the call), and callees are free to modify those registers. llvm-svn: 16882
* Fix whitespace and wrap some long lines.Brian Gaeke2004-10-101-8/+30
| | | | | | | | Deal with allocating stack space for outgoing args and copying them into the correct stack slots (at least, we can copy <=32-bit int args). We now correctly generate ADJCALLSTACK* instructions. llvm-svn: 16881
* Top level makefile for building LLVM with automake.Reid Spencer2004-10-101-0/+18
| | | | llvm-svn: 16880
* Ensure timestamp on saved contents of configure.ac is not changed.Reid Spencer2004-10-106-567/+1684
| | | | | | Use correct options to automake. llvm-svn: 16879
* Fix 2004-10-10-CastStoreOnce.llx, by adjusting types back if we strip off a castChris Lattner2004-10-101-20/+23
| | | | llvm-svn: 16878
* New testcase that crashes -globalopt. I found this through inspection, notChris Lattner2004-10-101-0/+17
| | | | | | actually in the wild :) llvm-svn: 16877
* Implement GlobalOpt/deadglobal-2.llx, deletion of globals that are onlyChris Lattner2004-10-101-0/+11
| | | | | | | stored to, but are stored at variable indexes. This occurs at least in 176.gcc, but probably others, and we should handle it for completeness. llvm-svn: 16876
* New testcase we were not handling before.Chris Lattner2004-10-101-0/+11
| | | | llvm-svn: 16875
* Avoid calling use_size() which could (in theory) be expensive if the globalChris Lattner2004-10-101-12/+18
| | | | | | | | | has a large number of users. Instead, just keep track of whether we're making changes as we do so. This patch has no functionlity changes. llvm-svn: 16874
* bling bling!Chris Lattner2004-10-101-1/+1
| | | | llvm-svn: 16873
* A testcase that globalopt now handlesChris Lattner2004-10-091-0/+20
| | | | llvm-svn: 16872
* Eliminate global pointers that are only stored a single value and null ifChris Lattner2004-10-091-0/+103
| | | | | | | | | | | | | | | | | | | | | we know that all uses of the global will trap if the pointer contained is null. In this case, we forward substitute the stored value to any uses. This has the effect of devirtualizing trivial globals in trivial cases. For example, 164.gzip contains this: gzip.h:extern int (*read_buf) OF((char *buf, unsigned size)); bits.c: read_buf = file_read; deflate.c: lookahead = read_buf((char*)window, deflate.c: n = read_buf((char*)window+strstart+lookahead, more); Since read_buf has to point to file_read at every use, we just replace the calls through read_buf with a direct call to file_read. This occurs in several benchmarks, including 176.gcc and 164.gzip. Direct calls are good and stuff. llvm-svn: 16871
* Instead of silently breaking, print notification of why this doesn't work.Chris Lattner2004-10-091-0/+9
| | | | llvm-svn: 16870
* Fix grammaroChris Lattner2004-10-091-1/+1
| | | | llvm-svn: 16869
* Use DEBUG instead of DebugFlag directly, as DebugFlag does not respectChris Lattner2004-10-091-5/+3
| | | | | | -debug-only! llvm-svn: 16868
* It looks like we're not releasing 1.4 with llvm.org as the official domainChris Lattner2004-10-091-12/+12
| | | | llvm-svn: 16867
* update according to tonight's infoBrian Gaeke2004-10-091-4/+5
| | | | llvm-svn: 16866
* Implement getModuleMatchQuality and getJITMatchQuality so that v8 will be theBrian Gaeke2004-10-092-0/+23
| | | | | | | default 32/BE target on sparc hosts, and ppc will continue to be the default on other hosts. llvm-svn: 16865
* Fix infinite loop due to iterationChris Lattner2004-10-091-1/+7
| | | | llvm-svn: 16864
* Implement sub.ll:test17, -X/C -> X/-CChris Lattner2004-10-091-0/+5
| | | | llvm-svn: 16863
* New testcaseChris Lattner2004-10-091-0/+6
| | | | llvm-svn: 16862
* Add a check to avoid an assertion on malformed inputChris Lattner2004-10-091-0/+3
| | | | llvm-svn: 16861
* The person who was planning to add SSE support isn't anymore, so disableChris Lattner2004-10-081-1/+3
| | | | | | | | | the -sse* options (to avoid misleading people). Also, the stack alignment of the target doesn't depend on whether SSE is eventually implemented, so remove a comment. llvm-svn: 16860
* Fix a major regression from the bugfix for 2004-10-08-SelectSetCCFold.llx,Chris Lattner2004-10-081-1/+1
| | | | | | | | which prevented setcc's from being folded into branches. It appears that conditional branchinst's CC operand is actually operand(2), not operand(0) as we might expect. :( llvm-svn: 16859
* If we found a dead global, we should at least delete it...Chris Lattner2004-10-081-0/+1
| | | | llvm-svn: 16858
* * Pull out the meat of runOnModule into another function for clarity.Chris Lattner2004-10-081-45/+101
| | | | | | | | | | * Do not lead dangling dead constants prevent optimization * Iterate global optimization while we're making progress. These changes allow us to be more aggressive, handling cases like GlobalOpt/iterate.llx without a problem (turning it into 'ret int 0'). llvm-svn: 16857
* New testcaseChris Lattner2004-10-081-0/+10
| | | | llvm-svn: 16856
* We might as well delete the known-dead global sooner rather than later sinceChris Lattner2004-10-081-0/+2
| | | | | | we know it is dead. llvm-svn: 16855
* Hyphenate target-(in)dependent for more tasty grammar goodness (tm)Misha Brukman2004-10-081-2/+2
| | | | llvm-svn: 16854
* Temporarily disable a buggy transformation until it can be fixed. This fixesChris Lattner2004-10-081-0/+5
| | | | | | 254.gap. llvm-svn: 16853
* Adjust paths due to moving InstrSched to lib/Target/SparcV9Misha Brukman2004-10-083-7/+7
| | | | llvm-svn: 16852
* Use the SparcV9-marked instr scheduling libraryMisha Brukman2004-10-083-3/+3
| | | | llvm-svn: 16851
* InstrSched has been moved to lib/Target/SparcV9Misha Brukman2004-10-081-1/+1
| | | | llvm-svn: 16850
* InstrSched is SparcV9-specific and so has been moved to lib/Target/SparcV9/Misha Brukman2004-10-087-2/+2
| | | | llvm-svn: 16849
* Single-space instead of double-spacing in the MakefileMisha Brukman2004-10-081-3/+1
| | | | llvm-svn: 16848
* Build InstrSched as well, and all three subdirs can be built independentlyMisha Brukman2004-10-081-1/+1
| | | | llvm-svn: 16847
* * Adjust for the move to lib/Target/SparcV9/InstrSchedMisha Brukman2004-10-080-0/+0
| | | | | | * Rename library to mark it SparcV9-specific llvm-svn: 16846
* Single-space instead of double-spacing in the MakefileMisha Brukman2004-10-081-2/+1
| | | | llvm-svn: 16845
* Remove unused variable.Reid Spencer2004-10-081-1/+0
| | | | llvm-svn: 16844
* Make it so that positional parameters can have spaces in them.Reid Spencer2004-10-081-1/+1
| | | | llvm-svn: 16843
* Implement SRA for global variables. This allows the other global variableChris Lattner2004-10-081-32/+137
| | | | | | | | | | | optimizations to trigger much more often. This allows the elimination of several dozen more global variables in Programs/External. Note that we only do this for non-constant globals: constant globals will already be optimized out if the accesses to them permit it. This implements Transforms/GlobalOpt/globalsra.llx llvm-svn: 16842
* New testcaseChris Lattner2004-10-081-0/+19
| | | | llvm-svn: 16841
* Fix bug: 2004-10-08-SelectSetCCFold.llx. Normally this is hidden by theChris Lattner2004-10-081-1/+2
| | | | | | instcombine xform, which is why we didn't notice it before. llvm-svn: 16840
* New testcase. The setcc is only used by a select, but not as a condition:Chris Lattner2004-10-081-0/+8
| | | | | | it cannot be folded in. llvm-svn: 16839
* Properly `quote' names, and don't forget to add the ending quote!Misha Brukman2004-10-081-24/+24
| | | | llvm-svn: 16838
* Add the --with-automake option to AutoRegen.sh and provide the automakeReid Spencer2004-10-082-10/+519
| | | | | | | | | | version of the configure script. This is an early commit of the automake support so that automake support can be tested on multiple platforms. Many additional Makefile.am need to be added to LLVM before this is of any use. Please wait until automake support is announced on llvmdev list before using the --with-automake option. llvm-svn: 16837
* Instcombine (X & FF00) + xx00 -> (X+xx00) & FF00, implementing and.ll:test27Chris Lattner2004-10-081-0/+25
| | | | | | This comes up when doing adds to bitfield elements. llvm-svn: 16836
* New testcaseChris Lattner2004-10-081-0/+7
| | | | llvm-svn: 16835
* Little patch to turn (shl (add X, 123), 4) -> (add (shl X, 4), 123 << 4)Chris Lattner2004-10-081-0/+3
| | | | | | | This triggers in cases of bitfield additions, opening opportunities for future improvements. llvm-svn: 16834
OpenPOWER on IntegriCloud