| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Revert "Reimplement (part of) the or -> add optimization. Matching 'or' into | Daniel Dunbar | 2010-10-08 | 4 | -126/+65 |
| | | | | | | | 'add'", which seems to have broken just about everything. llvm-svn: 116033 | ||||
| * | Revert "Use the new TB_NOT_REVERSABLE flag instead of special ", which depends | Daniel Dunbar | 2010-10-08 | 1 | -26/+20 |
| | | | | | | | on r116007, which I am about to revert. llvm-svn: 116032 | ||||
| * | Revert "reimplement the second half of the or/add optimization. We should now", | Daniel Dunbar | 2010-10-08 | 3 | -51/+18 |
| | | | | | | | which depends on r116007, which I am about to revert. llvm-svn: 116031 | ||||
| * | Move to thumb2 loads, fixes a problem with incoming registers | Eric Christopher | 2010-10-08 | 1 | -16/+13 |
| | | | | | | | | | as thumb1. Fixes lencod. llvm-svn: 116027 | ||||
| * | reimplement the second half of the or/add optimization. We should now | Chris Lattner | 2010-10-08 | 3 | -18/+51 |
| | | | | | | | | | | | only end up emitting LEA instead of OR. If we aren't able to promote something into an LEA, we should never be emitting it as an ADD. Add some testcases that we emit "or" in cases where we used to produce an "add". llvm-svn: 116026 | ||||
| * | Enable binary encoding of some simple instructions. | Jim Grosbach | 2010-10-08 | 1 | -0/+8 |
| | | | | | llvm-svn: 116022 | ||||
| * | Make <target>CodeEmitter::getBinaryCodeForInstr() a const method. | Jim Grosbach | 2010-10-08 | 4 | -8/+8 |
| | | | | | llvm-svn: 116018 | ||||
| * | Use the new TB_NOT_REVERSABLE flag instead of special | Chris Lattner | 2010-10-08 | 1 | -20/+26 |
| | | | | | | | casing FsMOVAPDrr/FsMOVAPSrr. llvm-svn: 116016 | ||||
| * | simplify some map operations. | Chris Lattner | 2010-10-07 | 2 | -16/+14 |
| | | | | | llvm-svn: 116014 | ||||
| * | Reimplement (part of) the or -> add optimization. Matching 'or' into 'add' | Chris Lattner | 2010-10-07 | 4 | -65/+126 |
| | | | | | | | | | | | | | | | | | | | | is general goodness because it allows ORs to be converted to LEA to avoid inserting copies. However, this is bad because it makes the generated .s file less obvious and gives valgrind heartburn (tons of false positives in bitfield code). While the general fix should be in valgrind, we can at least try to avoid emitting ADD instructions that *don't* get promoted to LEA. This is more work because it requires introducing pseudo instructions to represents "add that knows the bits are disjoint", but hey, people really love valgrind. This fixes this testcase: https://bugs.kde.org/show_bug.cgi?id=242137#c20 the add r/i cases are coming next. llvm-svn: 116007 | ||||
| * | Code refactoring. | Evan Cheng | 2010-10-07 | 2 | -104/+160 |
| | | | | | llvm-svn: 116002 | ||||
| * | Reduce casting in various tables by defining the table | Chris Lattner | 2010-10-07 | 2 | -27/+26 |
| | | | | | | | with the right types. llvm-svn: 116001 | ||||
| * | simplify code: don't build up vector only to assert it is empty. | Chris Lattner | 2010-10-07 | 1 | -8/+4 |
| | | | | | llvm-svn: 115997 | ||||
| * | Now with fewer extraneous semicolons! | Owen Anderson | 2010-10-07 | 1 | -1/+1 |
| | | | | | llvm-svn: 115996 | ||||
| * | Trivial MC code emitter shell. No instruction forms actually handled yet. | Jim Grosbach | 2010-10-07 | 1 | -3/+19 |
| | | | | | llvm-svn: 115993 | ||||
| * | Include the auto-generated bits for machine encoding. | Jim Grosbach | 2010-10-07 | 1 | -0/+20 |
| | | | | | llvm-svn: 115987 | ||||
| * | Remember to promote load/store types for stack to register size. | Eric Christopher | 2010-10-07 | 1 | -0/+6 |
| | | | | | llvm-svn: 115984 | ||||
| * | convert test to use the existing classes that the multipatterns | Chris Lattner | 2010-10-07 | 1 | -99/+48 |
| | | | | | | | | | | use. Since TEST is completely different than all other binops, don't define a multipattern for it. This completes factorization of binops. llvm-svn: 115982 | ||||
| * | convert cmp to use a multipattern | Chris Lattner | 2010-10-07 | 1 | -199/+181 |
| | | | | | llvm-svn: 115978 | ||||
| * | Canonicalize X86ISD::MOVDDUP nodes to v2f64 to make sure all cases match. ↵ | Evan Cheng | 2010-10-07 | 2 | -16/+22 |
| | | | | | | | Also eliminate unneeded isel patterns. rdar://8520311 llvm-svn: 115977 | ||||
| * | ARM instruction don't have instruction prefixes, so remove the helper functions | Jim Grosbach | 2010-10-07 | 1 | -16/+1 |
| | | | | | | | for them from the MCCodeEmitter. llvm-svn: 115975 | ||||
| * | reduce redundancy between pattern copies. | Chris Lattner | 2010-10-07 | 1 | -49/+53 |
| | | | | | llvm-svn: 115968 | ||||
| * | the opcode for BinOpMI/BinOpMI8 is always the same, remove the argument. | Chris Lattner | 2010-10-07 | 1 | -19/+19 |
| | | | | | llvm-svn: 115967 | ||||
| * | Improve comment. | Owen Anderson | 2010-10-07 | 1 | -1/+1 |
| | | | | | llvm-svn: 115966 | ||||
| * | convert adc/sbb to a multipattern. Because the adde/sube nodes | Chris Lattner | 2010-10-07 | 1 | -310/+150 |
| | | | | | | | | | | | | are not defined as returning EFLAGS (like add_flag and friends), the entire multipattern and several of the subclasses need to be cloned. This could be handled through better instantiation support in tblgen, but it isn't meta enough. llvm-svn: 115964 | ||||
| * | Add initialization routines for Target. | Owen Anderson | 2010-10-07 | 1 | -2/+12 |
| | | | | | llvm-svn: 115957 | ||||
| * | Fix obvious mistake pointed out by Michael Spencer. | Jakob Stoklund Olesen | 2010-10-07 | 1 | -1/+1 |
| | | | | | llvm-svn: 115952 | ||||
| * | Add the missing cases to the type->registerclass conversion function. | Kalle Raiskila | 2010-10-07 | 1 | -0/+14 |
| | | | | | llvm-svn: 115921 | ||||
| * | Implement two virtual functions in SPUTargetLowering. | Kalle Raiskila | 2010-10-07 | 2 | -0/+31 |
| | | | | | | | | | | | Before the implementation of isLegalAddressingMode, some rare cases of code were miscompiled if optimized with the LoopStrengthReduce pass. It is unclear (to me) if LSR is "allowed" to produce wrong code with a bad TargetLowering, or if the bug is elsewhere and this patch just hides it. llvm-svn: 115919 | ||||
| * | Use the correct register class for load instructions - fixes | Eric Christopher | 2010-10-07 | 1 | -1/+8 |
| | | | | | | | compilation of MultiSource/Benchmarks/Bullet. llvm-svn: 115907 | ||||
| * | Use the correct register class here. | Eric Christopher | 2010-10-07 | 1 | -1/+3 |
| | | | | | llvm-svn: 115906 | ||||
| * | Use the thumb2 conditional move instruction. | Eric Christopher | 2010-10-07 | 1 | -1/+1 |
| | | | | | llvm-svn: 115905 | ||||
| * | Remove in-progress assertion, add TODO. | Eric Christopher | 2010-10-07 | 1 | -1/+1 |
| | | | | | llvm-svn: 115904 | ||||
| * | Model operand cycles of vldm / vstm; also fixes scheduling itineraries of ↵ | Evan Cheng | 2010-10-07 | 7 | -42/+143 |
| | | | | | | | vldr / vstr, etc. llvm-svn: 115898 | ||||
| * | add support for isConvertibleToThreeAddress to ArithBinOpEFLAGS, | Chris Lattner | 2010-10-07 | 1 | -178/+18 |
| | | | | | | | allowing us to convert ADD over. deletes 160 lines of .td file. llvm-svn: 115897 | ||||
| * | Fix a few issues in ArithBinOpEFLAGS that made it specific to and. | Chris Lattner | 2010-10-07 | 1 | -497/+18 |
| | | | | | | | | | | Start using ArithBinOpEFLAGS for OR, XOR, and SUB. This removes 500 lines from the .td file. Now AND/OR/XOR/SUB are all defined exactly the same way instead of being close relatives. llvm-svn: 115896 | ||||
| * | Convert 'and' to single instance of a multipattern | Chris Lattner | 2010-10-07 | 1 | -50/+63 |
| | | | | | | | | | | | | which instantiates the 34 versions of and all in one swoop. The BaseOpc/BaseOpc2/BaseOpc4 stuff should not be required, but tblgen's feeble brain explodes when I use Or4<BaseOpc>.V in the multipattern. No change in the generated .inc files. llvm-svn: 115893 | ||||
| * | Allow use of the 16-bit literal move instruction in CMOVs for Thumb2 mode. | Jim Grosbach | 2010-10-07 | 2 | -7/+20 |
| | | | | | llvm-svn: 115890 | ||||
| * | add a new BinOpAI class to represent the immediate form that directly acts ↵ | Chris Lattner | 2010-10-07 | 1 | -10/+16 |
| | | | | | | | | | | | on EAX. This does change the generated .inc files to include the implicit use/def of eax. Since these instructions are only generated by the assembler and disassembler it doesn't actually matter though. llvm-svn: 115885 | ||||
| * | Allow use of the 16-bit literal move instruction in CMOVs for ARM mode. | Jim Grosbach | 2010-10-07 | 2 | -8/+23 |
| | | | | | llvm-svn: 115884 | ||||
| * | add a bunch of classes for other common patterns. | Chris Lattner | 2010-10-07 | 1 | -60/+51 |
| | | | | | | | As usual, no change in generated .inc files. llvm-svn: 115882 | ||||
| * | Define a new BinOpRI8 class and use it to define the imm8 versions of and. | Chris Lattner | 2010-10-07 | 1 | -27/+43 |
| | | | | | llvm-svn: 115880 | ||||
| * | Constrain the offset register to a *_NOSP register class when inserting LEA | Jakob Stoklund Olesen | 2010-10-07 | 1 | -2/+35 |
| | | | | | | | | | instructions. This unbreaks the machine code verifier and fixes PR8317. llvm-svn: 115879 | ||||
| * | add the pattern operator to match to X86TypeInfo, use this to | Chris Lattner | 2010-10-07 | 1 | -11/+11 |
| | | | | | | | convert AND64ri32 to use BinOpRI. llvm-svn: 115878 | ||||
| * | Properly handle GR32_NOSP in X86RegisterInfo::getMatchingSuperRegClass. | Jakob Stoklund Olesen | 2010-10-06 | 1 | -1/+6 |
| | | | | | | | This function looks like it is about ready to be generated by TebleGen. llvm-svn: 115876 | ||||
| * | remove trailing whitespace | Jim Grosbach | 2010-10-06 | 1 | -5/+5 |
| | | | | | llvm-svn: 115860 | ||||
| * | First in a sequence of ARM/MC/*ELF* specific work. | Jason W Kim | 2010-10-06 | 2 | -39/+60 |
| | | | | | | | | | | Lifted the EmitRawText calls to ARMAsmPrinter::emitAttribute() Added ARMAsmPrinter::emitAttributes() (plural s). TODO: .cpu attribute needs to be refactored llvm-svn: 115859 | ||||
| * | Clean up MOVi32imm and t2MOVi32imm pseudo instruction definitions. | Jim Grosbach | 2010-10-06 | 3 | -7/+9 |
| | | | | | llvm-svn: 115853 | ||||
| * | Kill of the vestiges of the 'call' Modifier (no longer needed for PLT). | Jim Grosbach | 2010-10-06 | 4 | -21/+12 |
| | | | | | llvm-svn: 115845 | ||||
| * | Now that VDUPfqf and VDUPfdfare properly pseudos, kill the no-longer-needed | Jim Grosbach | 2010-10-06 | 2 | -40/+3 |
| | | | | | | | "lane" operand modifier. llvm-svn: 115843 | ||||

