summaryrefslogtreecommitdiffstats
path: root/llvm/utils/TableGen/CodeGenTarget.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Backing outEvan Cheng2007-02-271-2/+6
| | | | | | | | | | CodeGenTarget.cpp updated: 1.82 -> 1.83 Record.cpp updated: 1.55 -> 1.56 Record.h updated: 1.59 -> 1.60 TableGen.cpp updated: 1.47 -> 1.48 It's missing CallingConvEmitter.h llvm-svn: 34693
* initial support for calling convention generation, still unfinished.Chris Lattner2007-02-271-6/+2
| | | | llvm-svn: 34682
* Files missing from LABEL check in.Jim Laskey2007-01-261-1/+8
| | | | llvm-svn: 33539
* What should be the last unnecessary <iostream>s in the library.Bill Wendling2006-12-071-2/+3
| | | | llvm-svn: 32333
* Match TargetInstrInfo changes.Evan Cheng2006-12-011-3/+2
| | | | llvm-svn: 32107
* Remove the isTwoAddress property from the CodeGenInstruction class. It shouldChris Lattner2006-11-151-1/+17
| | | | | | | | | | not be used for anything other than backwards compat constraint handling. Add support for a new DisableEncoding property which contains a list of registers that should not be encoded by the generated code emitter. Convert the codeemitter generator to use this, fixing some PPC JIT regressions. llvm-svn: 31769
* ADd support for adding constraints to suboperandsChris Lattner2006-11-151-29/+92
| | | | llvm-svn: 31748
* allow ptr_rc to explicitly appear in an instructions operand list, it doesn'tChris Lattner2006-11-101-1/+2
| | | | | | have to be a subpart of a complex operand. llvm-svn: 31618
* emit TIED_TO correctlyChris Lattner2006-11-071-2/+2
| | | | llvm-svn: 31484
* simplify the way operand flags and constraints are handled, making it easierChris Lattner2006-11-061-21/+30
| | | | | | to extend. llvm-svn: 31481
* recognize ppc's blr instruction as predicatedChris Lattner2006-11-061-0/+2
| | | | llvm-svn: 31480
* Clean up some code.Evan Cheng2006-11-041-1/+3
| | | | llvm-svn: 31451
* eliminate need for the NumMIOperands field in Operand.Chris Lattner2006-11-031-1/+13
| | | | llvm-svn: 31432
* Tied-to constraint must be op_with_larger_idx = op_with_smaller_idx or else ↵Evan Cheng2006-11-011-0/+3
| | | | | | throw an exception. llvm-svn: 31361
* Add operand constraints to TargetInstrInfo.Evan Cheng2006-11-011-0/+48
| | | | llvm-svn: 31333
* Added properties such as SDNPHasChain to ComplexPattern.Evan Cheng2006-10-111-0/+14
| | | | llvm-svn: 30890
* Allow more use of iPTR in patterns.Evan Cheng2006-06-151-22/+22
| | | | llvm-svn: 28790
* Don't generate getCalleeSaveReg and getCalleeSaveRegClasses anymore.Evan Cheng2006-05-181-3/+0
| | | | llvm-svn: 28376
* TypoEvan Cheng2006-05-171-2/+2
| | | | llvm-svn: 28366
* Remove PointerType from target definition. Use abstract type MVT::iPTR toEvan Cheng2006-05-171-31/+27
| | | | | | represent pointer type. llvm-svn: 28363
* Allow patterns to refer to physical registers that belong to multipleEvan Cheng2006-05-161-0/+17
| | | | | | register classes. llvm-svn: 28323
* Fix a typo: Instr* -> Intr*Chris Lattner2006-04-101-3/+3
| | | | llvm-svn: 27568
* Only compute intrinsic valuetypes when in a target .td file.Chris Lattner2006-03-281-2/+12
| | | | llvm-svn: 27197
* revert this, it breaks things.Chris Lattner2006-03-281-4/+3
| | | | llvm-svn: 27196
* Add support for decoding iPTR to the right pointer type.Chris Lattner2006-03-271-5/+15
| | | | llvm-svn: 27188
* Make sure to initialize the TheDef field!Chris Lattner2006-03-241-0/+1
| | | | llvm-svn: 27078
* Move CodeGenIntrinsic implementation to CodeGenTarget.cpp with the rest ofChris Lattner2006-03-241-0/+85
| | | | | | | | the CodeGen* implementations. Parse the MVT::ValueType for each operand of the intrinsics. llvm-svn: 27075
* getEnumName() missed v8i8, v4i16, and v2i32 typesEvan Cheng2006-03-191-0/+3
| | | | llvm-svn: 26869
* New vector type v2f32.Evan Cheng2006-03-011-0/+2
| | | | llvm-svn: 26437
* Added x86 integer vector types: 64-bit packed byte integer (v16i8), 64-bitEvan Cheng2006-02-201-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.tdChris Lattner2006-01-271-17/+13
| | | | llvm-svn: 25673
* * Remove instruction fields hasInFlag / hasOutFlag and added SNDPInFlag andEvan Cheng2006-01-091-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 Cheng2005-12-261-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 FLAGEvan Cheng2005-12-231-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 Cheng2005-12-171-0/+2
| | | | llvm-svn: 24753
* * Added an explicit type field to ComplexPattern.Evan Cheng2005-12-081-3/+5
| | | | | | * Renamed MatchingNodes to RootNodes. llvm-svn: 24636
* Added support for ComplexPattern. These are patterns that require C++ patternEvan Cheng2005-12-081-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 Cheng2005-12-041-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 vectorNate Begeman2005-12-011-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 Begeman2005-12-011-9/+4
| | | | llvm-svn: 24556
* Add the new vector types to tablegenNate Begeman2005-11-291-0/+12
| | | | llvm-svn: 24514
* Initialize this variable on all paths, fixing a crasher in windows. ThanksChris Lattner2005-11-191-1/+1
| | | | | | to JeffC for pointing this out. llvm-svn: 24426
* Teach tblgen about instruction operands that have multiple MachineInstrChris Lattner2005-11-191-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 accuratelyChris Lattner2005-10-281-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 itChris Lattner2005-10-141-0/+7
| | | | llvm-svn: 23723
* force all instruction operands to be named.Chris Lattner2005-09-141-2/+5
| | | | llvm-svn: 23358
* Check that operands have unique names. REJECT instructions with broken operandChris Lattner2005-09-141-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 Lattner2005-09-131-11/+2
| | | | | | methods. Use it to simplify some code. llvm-svn: 23336
* Compute the value types that are natively supported by a target.Chris Lattner2005-09-081-0/+6
| | | | llvm-svn: 23282
* spell this rightChris Lattner2005-08-261-1/+1
| | | | llvm-svn: 23099
OpenPOWER on IntegriCloud