summaryrefslogtreecommitdiffstats
path: root/llvm/utils/TableGen/CodeGenTarget.h
Commit message (Collapse)AuthorAgeFilesLines
...
* Allow ComplexExpressions in InstrInfo.td files to be slightly more... ↵Christopher Lamb2008-01-311-2/+6
| | | | | | | | | | complex! ComplexExpressions can now have attributes which affect how TableGen interprets the pattern when generating matchin code. The first (and currently, only) attribute causes the immediate parent node of the ComplexPattern operand to be passed into the matching code rather than the node at the root of the entire DAG containing the pattern. llvm-svn: 46606
* start inferring 'no side effects'.Chris Lattner2008-01-101-1/+2
| | | | llvm-svn: 45822
* realize that instructions who match intrinsics that read memory read memory.Chris Lattner2008-01-101-0/+1
| | | | | | Also, instructions with any nodes that are SDNPMayLoad also read memory. llvm-svn: 45817
* Change the 'isStore' inferrer to look for 'SDNPMayStore' Chris Lattner2008-01-061-2/+9
| | | | | | | | | | | instead of "ISD::STORE". This allows us to mark target-specific dag nodes as storing (such as ppc byteswap stores). This allows us to remove more explicit isStore flags from the .td files. Finally, add a warning for when a .td file contains an explicit isStore and tblgen is able to infer it. llvm-svn: 45654
* change getQualifiedName to be a global function.Chris Lattner2008-01-051-1/+4
| | | | | | | | Split the pattern parsing code out from the dag isel emitter into it's own file. No functionality change. llvm-svn: 45632
* remove attributions from utils.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45419
* Eliminate an unused parameter.Dan Gohman2007-07-131-1/+1
| | | | llvm-svn: 39828
* Remove the operator<< for MVT::ValueType in preparation for MVT::ValueTypeDan Gohman2007-06-041-1/+0
| | | | | | | being changed from an enum to an integer type, which can't have a custom operator<< overload. llvm-svn: 37412
* Added properties such as SDNPHasChain to ComplexPattern.Evan Cheng2006-10-111-0/+7
| | | | llvm-svn: 30890
* Don't generate getCalleeSaveReg and getCalleeSaveRegClasses anymore.Evan Cheng2006-05-181-5/+0
| | | | llvm-svn: 28376
* Remove PointerType from target definition. Use abstract type MVT::iPTR toEvan Cheng2006-05-171-3/+0
| | | | | | represent pointer type. llvm-svn: 28363
* Allow patterns to refer to physical registers that belong to multipleEvan Cheng2006-05-161-0/+4
| | | | | | register classes. llvm-svn: 28323
* Add support for decoding iPTR to the right pointer type.Chris Lattner2006-03-271-1/+2
| | | | llvm-svn: 27188
* PHI and INLINEASM are now builtin instructions provided by Target.tdChris Lattner2006-01-271-4/+0
| | | | llvm-svn: 25673
* * 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/+17
| | | | | | | 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
* Add some methodsChris Lattner2005-12-051-1/+20
| | | | llvm-svn: 24596
* Stop checking the ValueType of the CodeGenInstruction. Instead, use theNate Begeman2005-12-011-0/+9
| | | | | | | ValueType from the RegisterClass or Operands. This step is necessary to allow RegisterClasses to have multiple ValueTypes. llvm-svn: 24555
* add an accessorChris Lattner2005-09-141-0/+6
| | | | llvm-svn: 23349
* Compute the value types that are natively supported by a target.Chris Lattner2005-09-081-2/+17
| | | | llvm-svn: 23282
* Remove trailing whitespaceMisha Brukman2005-04-221-2/+2
| | | | llvm-svn: 21428
* Refactor code for numbering instructions into CodeGenTarget.Chris Lattner2005-01-221-0/+6
| | | | llvm-svn: 19758
* Convert 'struct' to 'class' in various places to adhere to the coding standardsChris Lattner2004-10-271-1/+1
| | | | | | and work better with VC++. Patch contributed by Morten Ofstad! llvm-svn: 17281
* * Add option to read isLittleEndianEncoding for InstrInfo classesMisha Brukman2004-10-141-0/+4
| | | | | | * Doxygen-ify some function comments llvm-svn: 16974
* Start parsing register classes into a more structured formChris Lattner2004-08-211-1/+9
| | | | llvm-svn: 15961
* Use CodeGenRegister class to make reading in of register information moreChris Lattner2004-08-161-2/+12
| | | | | | systematic. llvm-svn: 15805
* Make the AsmWriter a first-class tblgen object. Allow targets to specifyChris Lattner2004-08-141-1/+5
| | | | | | name of the generated asmwriter class, and the name of the format string. llvm-svn: 15747
* Parse the operand list of the instruction. We currently support register ↵Chris Lattner2004-08-011-1/+0
| | | | | | and immediate operands. llvm-svn: 15390
* Add, and start using, the CodeGenInstruction class. This class representsChris Lattner2004-08-011-6/+20
| | | | | | an instance of the Instruction tablegen class. llvm-svn: 15385
* Rename CodeGenWrappers.(cpp|h) -> CodeGenTarget.(cpp|h)Chris Lattner2004-08-011-0/+68
llvm-svn: 15382
OpenPOWER on IntegriCloud