Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Added properties such as SDNPHasChain to ComplexPattern. | Evan Cheng | 2006-10-11 | 1 | -0/+14 | |
| | | | | llvm-svn: 30890 | |||||
* | Allow more use of iPTR in patterns. | Evan Cheng | 2006-06-15 | 1 | -22/+22 | |
| | | | | llvm-svn: 28790 | |||||
* | Don't generate getCalleeSaveReg and getCalleeSaveRegClasses anymore. | Evan Cheng | 2006-05-18 | 1 | -3/+0 | |
| | | | | llvm-svn: 28376 | |||||
* | Typo | Evan Cheng | 2006-05-17 | 1 | -2/+2 | |
| | | | | llvm-svn: 28366 | |||||
* | Remove PointerType from target definition. Use abstract type MVT::iPTR to | Evan Cheng | 2006-05-17 | 1 | -31/+27 | |
| | | | | | | represent pointer type. llvm-svn: 28363 | |||||
* | Allow patterns to refer to physical registers that belong to multiple | Evan Cheng | 2006-05-16 | 1 | -0/+17 | |
| | | | | | | register classes. llvm-svn: 28323 | |||||
* | Fix a typo: Instr* -> Intr* | Chris Lattner | 2006-04-10 | 1 | -3/+3 | |
| | | | | llvm-svn: 27568 | |||||
* | Only compute intrinsic valuetypes when in a target .td file. | Chris Lattner | 2006-03-28 | 1 | -2/+12 | |
| | | | | llvm-svn: 27197 | |||||
* | revert this, it breaks things. | Chris Lattner | 2006-03-28 | 1 | -4/+3 | |
| | | | | llvm-svn: 27196 | |||||
* | Add support for decoding iPTR to the right pointer type. | Chris Lattner | 2006-03-27 | 1 | -5/+15 | |
| | | | | llvm-svn: 27188 | |||||
* | Make sure to initialize the TheDef field! | Chris Lattner | 2006-03-24 | 1 | -0/+1 | |
| | | | | llvm-svn: 27078 | |||||
* | Move CodeGenIntrinsic implementation to CodeGenTarget.cpp with the rest of | Chris Lattner | 2006-03-24 | 1 | -0/+85 | |
| | | | | | | | | the CodeGen* implementations. Parse the MVT::ValueType for each operand of the intrinsics. llvm-svn: 27075 | |||||
* | getEnumName() missed v8i8, v4i16, and v2i32 types | Evan Cheng | 2006-03-19 | 1 | -0/+3 | |
| | | | | llvm-svn: 26869 | |||||
* | New vector type v2f32. | Evan Cheng | 2006-03-01 | 1 | -0/+2 | |
| | | | | llvm-svn: 26437 | |||||
* | Added x86 integer vector types: 64-bit packed byte integer (v16i8), 64-bit | Evan Cheng | 2006-02-20 | 1 | -0/+3 | |
| | | | | | | packed word integer (v8i16), and 64-bit packed doubleword integer (v2i32). llvm-svn: 26294 | |||||
* | PHI and INLINEASM are now builtin instructions provided by Target.td | Chris Lattner | 2006-01-27 | 1 | -17/+13 | |
| | | | | llvm-svn: 25673 | |||||
* | * Remove instruction fields hasInFlag / hasOutFlag and added SNDPInFlag and | Evan Cheng | 2006-01-09 | 1 | -2/+0 | |
| | | | | | | | | | SNDPOutFlag to DAG nodes. These properties do not belong to target specific instructions. * Added DAG node property SNDPOptInFlag. It's same as SNDPInFlag except it's optional. Used by ret / call, etc. llvm-svn: 25154 | |||||
* | Added field noResults to Instruction. | Evan Cheng | 2005-12-26 | 1 | -0/+1 | |
| | | | | | | | | | | | | Currently tblgen cannot tell which operands in the operand list are results so it assumes the first one is a result. This is bad. Ideally we would fix this by separating results from inputs, e.g. (res R32:$dst), (ops R32:$src1, R32:$src2). But that's a more distruptive change. Adding 'let noResults = 1' is the workaround to tell tblgen that the instruction does not produces a result. It works for now since tblgen does not support instructions which produce multiple results. llvm-svn: 25017 | |||||
* | * Support for hasInFlag and hasOutFlag (on instructions). Remove nameless FLAG | Evan Cheng | 2005-12-23 | 1 | -0/+2 | |
| | | | | | | | support which is fragile. * Fixed a number of bugs. llvm-svn: 24996 | |||||
* | Support for read / write from explicit registers with FlagVT type. | Evan Cheng | 2005-12-17 | 1 | -0/+2 | |
| | | | | llvm-svn: 24753 | |||||
* | * Added an explicit type field to ComplexPattern. | Evan Cheng | 2005-12-08 | 1 | -3/+5 | |
| | | | | | | * Renamed MatchingNodes to RootNodes. llvm-svn: 24636 | |||||
* | Added support for ComplexPattern. These are patterns that require C++ pattern | Evan Cheng | 2005-12-08 | 1 | -0/+9 | |
| | | | | | | | matching code that is not currently auto-generated by tblgen, e.g. X86 addressing mode. Selection routines for complex patterns can return multiple operands, e.g. X86 addressing mode returns 4. llvm-svn: 24634 | |||||
* | * Commit the fix (by Chris) for a tblgen type inferencing bug. | Evan Cheng | 2005-12-04 | 1 | -0/+1 | |
| | | | | | | | | | | | * Enhanced tblgen to handle instructions which have chain operand and writes a chain result. * Enhanced tblgen to handle instructions which produces no results. Part of the change is a temporary hack which relies on instruction property (e.g. isReturn, isBranch). The proper fix would be to change the .td syntax to separate results dag from ops dag. llvm-svn: 24587 | |||||
* | Support multiple ValueTypes per RegisterClass, needed for upcoming vector | Nate Begeman | 2005-12-01 | 1 | -8/+20 | |
| | | | | | | work. This change has no effect on generated code. llvm-svn: 24563 | |||||
* | Nuke CodeGenInstruction's ValueType member, it is no longer used. | Nate Begeman | 2005-12-01 | 1 | -9/+4 | |
| | | | | llvm-svn: 24556 | |||||
* | Add the new vector types to tablegen | Nate Begeman | 2005-11-29 | 1 | -0/+12 | |
| | | | | llvm-svn: 24514 | |||||
* | Initialize this variable on all paths, fixing a crasher in windows. Thanks | Chris Lattner | 2005-11-19 | 1 | -1/+1 | |
| | | | | | | to JeffC for pointing this out. llvm-svn: 24426 | |||||
* | Teach tblgen about instruction operands that have multiple MachineInstr | Chris Lattner | 2005-11-19 | 1 | -1/+4 | |
| | | | | | | | operands, digging into them to find register values (used on X86). Patch by Evan Cheng! llvm-svn: 24424 | |||||
* | Rename Record::getValueAsListDef to getValueAsListOfDefs, to more accurately | Chris Lattner | 2005-10-28 | 1 | -20/+8 | |
| | | | | | | | reflect what it is. Convert some more code over to use it. llvm-svn: 24072 | |||||
* | Do not let getLegalValueTypes return a list with duplicates in it | Chris Lattner | 2005-10-14 | 1 | -0/+7 | |
| | | | | llvm-svn: 23723 | |||||
* | force all instruction operands to be named. | Chris Lattner | 2005-09-14 | 1 | -2/+5 | |
| | | | | llvm-svn: 23358 | |||||
* | Check that operands have unique names. REJECT instructions with broken operand | Chris Lattner | 2005-09-14 | 1 | -29/+39 | |
| | | | | | | lists: only don't parse them if they are entirely missing (sparcv9). llvm-svn: 23355 | |||||
* | Add a new Record::getValueAsCode method to mirror the other getValueAs* | Chris Lattner | 2005-09-13 | 1 | -11/+2 | |
| | | | | | | methods. Use it to simplify some code. llvm-svn: 23336 | |||||
* | Compute the value types that are natively supported by a target. | Chris Lattner | 2005-09-08 | 1 | -0/+6 | |
| | | | | llvm-svn: 23282 | |||||
* | spell this right | Chris Lattner | 2005-08-26 | 1 | -1/+1 | |
| | | | | llvm-svn: 23099 | |||||
* | spell this variable right | Chris Lattner | 2005-08-26 | 1 | -1/+1 | |
| | | | | llvm-svn: 23095 | |||||
* | Expose a new flag to TargetInstrInfo | Chris Lattner | 2005-08-26 | 1 | -0/+1 | |
| | | | | llvm-svn: 23094 | |||||
* | Split register class "Methods" into MethodProtos and MethodBodies | Chris Lattner | 2005-08-19 | 1 | -4/+10 | |
| | | | | llvm-svn: 22928 | |||||
* | Read the namespace field from register classes | Chris Lattner | 2005-08-19 | 1 | -0/+7 | |
| | | | | llvm-svn: 22918 | |||||
* | Fix a problem jeffc noticed | Chris Lattner | 2005-08-19 | 1 | -0/+1 | |
| | | | | llvm-svn: 22903 | |||||
* | Figure out how many operands each instruction has, keep track of whether | Chris Lattner | 2005-08-18 | 1 | -4/+7 | |
| | | | | | | or not it's variable. llvm-svn: 22885 | |||||
* | Remove trailing whitespace | Misha Brukman | 2005-04-22 | 1 | -5/+5 | |
| | | | | llvm-svn: 21428 | |||||
* | Refactor code for numbering instructions into CodeGenTarget. | Chris Lattner | 2005-01-22 | 1 | -0/+16 | |
| | | | | llvm-svn: 19758 | |||||
* | Expose isConvertibleToThreeAddress and isCommutable bits to the code generator. | Chris Lattner | 2005-01-02 | 1 | -0/+2 | |
| | | | | llvm-svn: 19243 | |||||
* | * Add option to read isLittleEndianEncoding for InstrInfo classes | Misha Brukman | 2004-10-14 | 1 | -0/+9 | |
| | | | | | | * Doxygen-ify some function comments llvm-svn: 16974 | |||||
* | Add initial support for variants. This just parses the new format, no | Chris Lattner | 2004-10-03 | 1 | -1/+12 | |
| | | | | | | functionality is added llvm-svn: 16636 | |||||
* | Add support for the isLoad and isStore flags, needed by the instruction ↵ | Nate Begeman | 2004-09-28 | 1 | -0/+2 | |
| | | | | | | scheduler llvm-svn: 16554 | |||||
* | Turn the hasDelaySlot flag into the M_DELAY_SLOT_FLAG | Chris Lattner | 2004-09-28 | 1 | -0/+1 | |
| | | | | llvm-svn: 16553 | |||||
* | Alignment is now in bits. | Chris Lattner | 2004-08-21 | 1 | -2/+1 | |
| | | | | llvm-svn: 15976 | |||||
* | Make alignment be in bits, just like size is | Chris Lattner | 2004-08-21 | 1 | -1/+2 | |
| | | | | llvm-svn: 15969 |