| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | QOI feature implemented. | Chris Lattner | 2005-01-22 | 1 | -2/+3 |
| | | | | | llvm-svn: 19756 | ||||
| * | Implement factoring of instruction pattern strings. In particular, instead of | Chris Lattner | 2005-01-22 | 1 | -10/+97 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | emitting code like this: case PPC::ADD: O << "add "; printOperand(MI, 0, MVT::i64); O << ", "; prin tOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n '; break; case PPC::ADDC: O << "addc "; printOperand(MI, 0, MVT::i64); O << ", "; pr intOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << ' \n'; break; case PPC::ADDE: O << "adde "; printOperand(MI, 0, MVT::i64); O << ", "; pr intOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << ' \n'; break; ... Emit code like this: case PPC::ADD: case PPC::ADDC: case PPC::ADDE: ... switch (MI->getOpcode()) { case PPC::ADD: O << "add "; break; case PPC::ADDC: O << "addc "; break; case PPC::ADDE: O << "adde "; break; ... } printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << "\n"; break; This shrinks the PPC asm writer from 24785->15205 bytes (even though the new asmwriter has much more whitespace than the old one), and the X86 printers shrink quite a bit too. The important implication of this is that GCC no longer hits swap when building the PPC backend in optimized mode. Thus this fixes PR448. -Chris llvm-svn: 19755 | ||||
| * | Fix the ::: problem | Chris Lattner | 2005-01-22 | 1 | -1/+1 |
| | | | | | llvm-svn: 19754 | ||||
| * | Minor refactoring, no functionality change. | Chris Lattner | 2005-01-22 | 1 | -15/+20 |
| | | | | | llvm-svn: 19753 | ||||
| * | oops | Jeff Cohen | 2005-01-22 | 1 | -1/+1 |
| | | | | | llvm-svn: 19752 | ||||
| * | Use binary mode for reading/writing bytecode files | Jeff Cohen | 2005-01-22 | 12 | -38/+77 |
| | | | | | llvm-svn: 19751 | ||||
| * | Add (non-working) project bugpoint to Visual Studio | Jeff Cohen | 2005-01-22 | 2 | -0/+182 |
| | | | | | llvm-svn: 19750 | ||||
| * | Seperate asmstring parsing from emission. This allows the code to be simpler | Chris Lattner | 2005-01-22 | 1 | -86/+153 |
| | | | | | | | | | | | | | | | | | | | | and more understandable. It also allows us to do simple things like fold consequtive literal strings together. For example, instead of emitting this for the X86 backend: O << "adc" << "l" << " "; we now generate this: O << "adcl "; *whoa* :) This shrinks the X86 asmwriters from 62729->58267 and 65176->58644 bytes for the intel/att asm writers respectively. llvm-svn: 19749 | ||||
| * | Don't exclude FileUtilies and ToolRunner from VC++ build | Jeff Cohen | 2005-01-22 | 1 | -6/+3 |
| | | | | | llvm-svn: 19748 | ||||
| * | Fix VC++ complaint | Jeff Cohen | 2005-01-22 | 2 | -2/+3 |
| | | | | | llvm-svn: 19747 | ||||
| * | Fix destroyDirectory bug | Jeff Cohen | 2005-01-22 | 1 | -5/+8 |
| | | | | | llvm-svn: 19746 | ||||
| * | Implicitly defined registers can clobber callee saved registers too! | Chris Lattner | 2005-01-22 | 1 | -0/+6 |
| | | | | | | | This fixes the return-address-not-being-saved problem in the Alpha backend. llvm-svn: 19741 | ||||
| * | make double-dollar properly escape asmstrings | Andrew Lenharth | 2005-01-22 | 1 | -0/+1 |
| | | | | | llvm-svn: 19740 | ||||
| * | More bugfixes for IA64 shifts. | Chris Lattner | 2005-01-22 | 1 | -2/+2 |
| | | | | | llvm-svn: 19739 | ||||
| * | Fix problems with non-x86 targets. | Chris Lattner | 2005-01-22 | 1 | -3/+3 |
| | | | | | llvm-svn: 19738 | ||||
| * | Add a nasty hack to fix Alpha/IA64 multiplies by a power of two. | Chris Lattner | 2005-01-22 | 1 | -4/+9 |
| | | | | | llvm-svn: 19737 | ||||
| * | Remove unneeded line. | Chris Lattner | 2005-01-21 | 1 | -1/+0 |
| | | | | | llvm-svn: 19736 | ||||
| * | test commit | Chris Lattner | 2005-01-21 | 1 | -0/+1 |
| | | | | | llvm-svn: 19735 | ||||
| * | Handle comparisons of gep instructions that have different typed indices | Chris Lattner | 2005-01-21 | 1 | -5/+9 |
| | | | | | | | as long as they are the same size. llvm-svn: 19734 | ||||
| * | Speed up folding operations into loads. | Chris Lattner | 2005-01-21 | 1 | -1/+2 |
| | | | | | llvm-svn: 19733 | ||||
| * | Keep track of node depth for each node | Chris Lattner | 2005-01-21 | 1 | -6/+39 |
| | | | | | llvm-svn: 19732 | ||||
| * | The ever-important vanity pass name :) | Chris Lattner | 2005-01-21 | 1 | -0/+4 |
| | | | | | llvm-svn: 19731 | ||||
| * | If the interpreter tries to execute an external function, kill it. Of course | Chris Lattner | 2005-01-21 | 1 | -6/+8 |
| | | | | | | | | | since we are dirty, special case __main. This should fix the infinite loop horrible stuff that happens on linux-alpha when configuring llvm-gcc. It might also help cygwin, who knows?? llvm-svn: 19729 | ||||
| * | Fix a FIXME: realize that argument stores are all independent (don't alias) | Chris Lattner | 2005-01-21 | 1 | -6/+7 |
| | | | | | llvm-svn: 19728 | ||||
| * | Unary token factor nodes are unneeded. | Chris Lattner | 2005-01-21 | 1 | -0/+2 |
| | | | | | llvm-svn: 19727 | ||||
| * | Refactor libcall code a bit. Initial implementation of expanding int -> FP | Chris Lattner | 2005-01-21 | 1 | -50/+121 |
| | | | | | | | operations for 64-bit integers. llvm-svn: 19724 | ||||
| * | Apparently destroyFile() now throws an exception. Since this class is | Chris Lattner | 2005-01-20 | 1 | -2/+4 |
| | | | | | | | | designed to be put on the stack, that's not cool. Catch and ignore the exception. llvm-svn: 19723 | ||||
| * | Remove this test. This test is already in PR269, so it should be | Chris Lattner | 2005-01-20 | 1 | -15/+0 |
| | | | | | | | readded when the bug is fixed. llvm-svn: 19722 | ||||
| * | Simplify the shift-expansion code. | Chris Lattner | 2005-01-20 | 1 | -8/+7 |
| | | | | | llvm-svn: 19721 | ||||
| * | Implement ADD_PARTS/SUB_PARTS so that 64-bit integer add/sub work. This | Chris Lattner | 2005-01-20 | 1 | -6/+32 |
| | | | | | | | fixes most of the remaining llc-beta failures. llvm-svn: 19716 | ||||
| * | Expand add/sub into ADD_PARTS/SUB_PARTS instead of a non-existant libcall. | Chris Lattner | 2005-01-20 | 1 | -2/+41 |
| | | | | | llvm-svn: 19715 | ||||
| * | implement add_parts/sub_parts. | Chris Lattner | 2005-01-20 | 1 | -3/+8 |
| | | | | | llvm-svn: 19714 | ||||
| * | Eliminate the unimplemented ADDC/SUBB operations, add ADD_PARTS/SUB_PARTS ↵ | Chris Lattner | 2005-01-20 | 1 | -4/+6 |
| | | | | | | | instead. llvm-svn: 19713 | ||||
| * | Add missing entry. | Chris Lattner | 2005-01-20 | 1 | -0/+1 |
| | | | | | llvm-svn: 19712 | ||||
| * | Fix a crash compiling 134.perl. | Chris Lattner | 2005-01-20 | 1 | -21/+41 |
| | | | | | llvm-svn: 19711 | ||||
| * | Get analyze to show all analysis options when compiled with VC++ | Jeff Cohen | 2005-01-20 | 2 | -0/+3 |
| | | | | | llvm-svn: 19710 | ||||
| * | Add analyze project to Visual Studio | Jeff Cohen | 2005-01-20 | 2 | -0/+159 |
| | | | | | llvm-svn: 19709 | ||||
| * | Add project llvm-proj to Visual Studio | Jeff Cohen | 2005-01-20 | 2 | -0/+151 |
| | | | | | llvm-svn: 19708 | ||||
| * | Support targets that do not use i8 shift amounts. | Chris Lattner | 2005-01-19 | 1 | -0/+4 |
| | | | | | llvm-svn: 19707 | ||||
| * | Add two optimizations. The first folds (X+Y)-X -> Y | Chris Lattner | 2005-01-19 | 1 | -2/+89 |
| | | | | | | | | | | | | | | | | | | The second folds operations into selects, e.g. (select C, (X+Y), (Y+Z)) -> (Y+(select C, X, Z) This occurs a few times across spec, e.g. select add/sub mesa: 83 0 povray: 5 2 gcc 4 2 parser 0 22 perlbmk 13 30 twolf 0 3 llvm-svn: 19706 | ||||
| * | Add some new tests | Chris Lattner | 2005-01-19 | 1 | -0/+14 |
| | | | | | llvm-svn: 19705 | ||||
| * | Add an assertion that would have made more sense to duraid | Chris Lattner | 2005-01-19 | 1 | -1/+3 |
| | | | | | llvm-svn: 19704 | ||||
| * | Add support for targets that pass args in registers to calls. | Chris Lattner | 2005-01-19 | 1 | -6/+25 |
| | | | | | llvm-svn: 19703 | ||||
| * | Add an accessor for targets that pass args in regs | Chris Lattner | 2005-01-19 | 1 | -0/+14 |
| | | | | | llvm-svn: 19702 | ||||
| * | Fold single use token factor nodes into other token factor nodes. | Chris Lattner | 2005-01-19 | 1 | -2/+10 |
| | | | | | llvm-svn: 19701 | ||||
| * | Realize the individual pieces of an expanded copytoreg/store/load are | Chris Lattner | 2005-01-19 | 1 | -9/+16 |
| | | | | | | | independent of each other. llvm-svn: 19700 | ||||
| * | Know some identities about tokenfactor nodes. | Chris Lattner | 2005-01-19 | 1 | -0/+11 |
| | | | | | llvm-svn: 19699 | ||||
| * | Know some simple identities. This improves codegen for (1LL << N). | Chris Lattner | 2005-01-19 | 1 | -0/+13 |
| | | | | | llvm-svn: 19698 | ||||
| * | Fix a problem where were were literally selecting for INCREASED register | Chris Lattner | 2005-01-19 | 1 | -8/+8 |
| | | | | | | | | | pressure, not decreases register pressure. Fix problem where we accidentally swapped the operands of SHLD, which caused fourinarow to fail. This fixes fourinarow. llvm-svn: 19697 | ||||
| * | Just in case, handle something that is both a use and a def. | Chris Lattner | 2005-01-19 | 1 | -1/+2 |
| | | | | | llvm-svn: 19696 | ||||

