summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Added a test case for parameter passing of vector values.Evan Cheng2006-05-301-0/+9
| | | | llvm-svn: 28567
* Fix the test failure on non-Darwin targets.Evan Cheng2006-05-301-1/+1
| | | | llvm-svn: 28566
* Allow shufps x, x, mask to be converted to pshufd x, mask to save a move.Evan Cheng2006-05-302-1/+13
| | | | llvm-svn: 28565
* Remove bogus comment.Evan Cheng2006-05-301-1/+0
| | | | llvm-svn: 28564
* Add llvm2cpp program.Reid Spencer2006-05-302-1/+91
| | | | llvm-svn: 28563
* Provide a simpler interface for getting a ConstantArray from a characterReid Spencer2006-05-302-14/+10
| | | | | | | | string. Instead of specifying the length, just specify whether the user wants a terminating null or not. The default is "true" to retain the same behavior as previously provided by this function. llvm-svn: 28562
* Make sure the register pressure reduction schedulers work for non-uniformEvan Cheng2006-05-301-12/+14
| | | | | | latency targets, e.g. PPC32. llvm-svn: 28561
* When a priority_queue is empty, the behavior of top() operator isEvan Cheng2006-05-301-0/+1
| | | | | | non-deterministic. Returns NULL when it's empty! llvm-svn: 28560
* Expand ret into "CopyToReg;BRIND"Rafael Espindola2006-05-302-18/+4
| | | | llvm-svn: 28559
* Enable -fno-use-cxa-atexit on darwin/ppc also.Chris Lattner2006-05-301-6/+6
| | | | llvm-svn: 28558
* Undo a patch that breaks llvm-as because the warning message is written toReid Spencer2006-05-301-1/+1
| | | | | | | stdout when the output of llvm-as is also written to stdout. We'll have to fix tcl some other way. llvm-svn: 28557
* Write the WARNING message to cout instead of cerr. Writing to cerr causesReid Spencer2006-05-301-1/+1
| | | | | | | Tcl to claim that the program had an error and thus produces errors in the dejagnu testing when its really just a warning. llvm-svn: 28556
* Make doc comment visible in doxygen output. Clarify Type construction.Vladimir Prus2006-05-301-24/+26
| | | | llvm-svn: 28555
* Fix many small bugs in llvm2cpp. This patch gets llvm2cpp working withReid Spencer2006-05-301-73/+161
| | | | | | | everything except PHI nodes and one odd recurse/opaque type situation. PHI nodes forward reference INSTRUCTIONS (aaaaaaaahhhhhhh!) :) llvm-svn: 28554
* Properly document the second form of ConstArray::get()Reid Spencer2006-05-301-0/+7
| | | | llvm-svn: 28553
* Adjust the interface to ConstantArray::get. The previousReid Spencer2006-05-302-9/+16
| | | | | | | | | implementation always added a null byte to the end of the string. It turns out that this is not always wanted. By adding a length parameter we preserve this behavior when length==0 (default value) but also allow other lengths (not null terminated) to be created. llvm-svn: 28552
* Add a note about integer multiplication by constants.Evan Cheng2006-05-301-0/+27
| | | | llvm-svn: 28551
* A addressing mode folding enhancement:Evan Cheng2006-05-302-1/+25
| | | | | | | | | | | | | Fold c2 in (x << c1) | c2 where (c2 < c1) e.g. int test(int x) { return (x << 3) + 7; } This can be codegen'd as: leal 7(,%eax,8), %eax llvm-svn: 28550
* Add a lea instruction selection test case.Evan Cheng2006-05-301-0/+7
| | | | llvm-svn: 28549
* Some new entries about truncate / anyextEvan Cheng2006-05-301-0/+16
| | | | llvm-svn: 28548
* First complete version of llvm2cpp that doesn't crash on any of the FeatureReid Spencer2006-05-301-274/+308
| | | | | | tests. The output in a few cases still doesn't compile, however. llvm-svn: 28547
* move calltarget to dsaAndrew Lenharth2006-05-291-0/+0
| | | | llvm-svn: 28546
* Since there was interest on the mailing list, this is a utility pass thatAndrew Lenharth2006-05-293-0/+181
| | | | | | | | uses DSA to make find targets of calls. It provides a very convinient interface to DSA results to do things with indirect calls, such as write a devirtualizer (which I have and may commit one of these days). llvm-svn: 28545
* Silly cleanupChris Lattner2006-05-291-1/+1
| | | | llvm-svn: 28544
* silly cleanupChris Lattner2006-05-297-87/+94
| | | | llvm-svn: 28543
* Fix a bug with diffing the wrong files. Make output more readable.Reid Spencer2006-05-291-7/+7
| | | | llvm-svn: 28542
* Next batch of implementation:Reid Spencer2006-05-291-1148/+265
| | | | | | | | | | 1. Get rid of old AsmWriter cruft that's not needed. 2. Implement several instructions. Enough to get by globalvars.ll and alignment.ll in the Feature test suite. 3. Handle constants properly (don't repeat definitions). 4. Make the output compatible with llvm-dis for diff purposes. llvm-svn: 28541
* Fix file header comment.Reid Spencer2006-05-291-2/+2
| | | | llvm-svn: 28540
* Remove temporary testing rules.Reid Spencer2006-05-291-14/+0
| | | | llvm-svn: 28539
* Reset DEBUG_SYMBOL_TABLE back to 0.Vladimir Prus2006-05-291-1/+1
| | | | llvm-svn: 28538
* Fix compile error when DEBUG_SYMBOL_TABLE is defined.Vladimir Prus2006-05-291-2/+2
| | | | llvm-svn: 28537
* Fix two bugs in the CppWriter.cpp:Reid Spencer2006-05-292-4/+17
| | | | | | | 1. Return the module from the MakeModule function so it can be verified. 2. Make sure types get generated with their names llvm-svn: 28536
* Fix the file's comment block.Reid Spencer2006-05-291-6/+7
| | | | llvm-svn: 28535
* Fix grammar in a comment.Reid Spencer2006-05-292-2/+2
| | | | llvm-svn: 28534
* Replace an old C-style cast with a C++ cast (squelch warning)Reid Spencer2006-05-291-1/+1
| | | | llvm-svn: 28533
* Correct some grammar and describe current reality.Reid Spencer2006-05-291-5/+4
| | | | llvm-svn: 28532
* Require both tests to pass.Owen Anderson2006-05-291-1/+1
| | | | llvm-svn: 28531
* Update the testcase to check the full extent of LCSSA.Owen Anderson2006-05-291-0/+1
| | | | llvm-svn: 28530
* Add Use replacement. Assuming there is nothing horribly wrong with this, LCSSAOwen Anderson2006-05-291-2/+35
| | | | | | | is now theoretically feature-complete. It has not, however, been thoroughly test, and is still considered experimental. llvm-svn: 28529
* Initial Commit of llvm2cppReid Spencer2006-05-294-0/+2174
| | | | | | | | This is a safekeeping commit. The program is not finished. It currently handles modules, types, global variables and function declarations. Blocks and instructions remain to be done. llvm-svn: 28528
* Major think-o. Iterate over all live out-of-loop values, and perform theOwen Anderson2006-05-281-36/+36
| | | | | | | other calculations on each individually, rather than trying to delay it and do them all at the end. llvm-svn: 28527
* Fix a problem where dejagnu won't accept the value of global tcl variableReid Spencer2006-05-283-9/+7
| | | | | | "libdir" for some reason. Changing to llvmlibsdir instead fixes it. llvm-svn: 28526
* Provide an infrastructure for testing the llvm2cpp program (yet to beReid Spencer2006-05-283-0/+90
| | | | | | | | committed). This infrastructure is only activated when RUNLLVM2CPP=1 is specified on the make command line. Currently it is only supported in the Feature test suite. llvm-svn: 28525
* Make LCSSA insert proper Phi nodes throughout the rest of the CFG by computingOwen Anderson2006-05-271-8/+51
| | | | | | | | the iterated Dominance Frontier of the loop-closure Phi's. This is the second phase of the LCSSA pass. The third phase (coming soon) will be to update all uses of loop variables to use the loop-closure Phi's instead. llvm-svn: 28524
* Fix some regression from the inliner patch I committed last night. This fixesChris Lattner2006-05-271-1/+1
| | | | | | ldecod, lencod, and SPASS. llvm-svn: 28523
* Fix pastos in commentsChris Lattner2006-05-271-3/+4
| | | | llvm-svn: 28522
* Switch the inliner over to using CloneAndPruneFunctionInto. This effectivelyChris Lattner2006-05-271-5/+9
| | | | | | | | | | | | | | | | | | | | | | | makes it so that it constant folds instructions on the fly. This is good for several reasons: 0. Many instructions are constant foldable after inlining, particularly if inlining a call with constant arguments. 1. Without this, the inliner has to allocate memory for all of the instructions that can be constant folded, then a subsequent pass has to delete them. This gets the job done without this extra work. 2. This makes the inliner *pass* a bit more aggressive: in particular, it partially solves a phase order issue where the inliner would inline lots of code that folds away to nothing, but think that the resultant function is big because of this code that will be gone. Now the code never exists. This is the first part of a 2-step process. The second part will be smart enough to see when this implicit constant folding propagates a constant into a branch or switch instruction, making CFG edges dead. This implements Transforms/Inline/inline_constprop.ll llvm-svn: 28521
* Ignore generated filesChris Lattner2006-05-271-0/+1
| | | | llvm-svn: 28520
* Implement a new method, CloneAndPruneFunctionInto, as documented.Chris Lattner2006-05-272-3/+189
| | | | llvm-svn: 28519
* Implement a new method: CloneAndPruneFunctionInto, as documented.Chris Lattner2006-05-271-0/+13
| | | | llvm-svn: 28518
OpenPOWER on IntegriCloud