aboutsummaryrefslogtreecommitdiffstats
path: root/utils/TableGen/CodeEmitterGen.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Changes For Bug 352Reid Spencer2004-09-011-1/+1
| | | | | | | | | Move include/Config and include/Support into include/llvm/Config, include/llvm/ADT and include/llvm/Support. From here on out, all LLVM public header files must be under include/llvm/. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16137 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not #include files into the llvm namespaceChris Lattner2004-08-171-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15849 91177308-0d34-0410-b5e6-96231b3b80d8
* Deleted commented-out code as we now get namespace directly, add commentsMisha Brukman2004-08-101-2/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15627 91177308-0d34-0410-b5e6-96231b3b80d8
* Use the target name instead of hard-coding SparcV9.Misha Brukman2004-08-101-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15616 91177308-0d34-0410-b5e6-96231b3b80d8
* This was a good idea, but until this does not break the build ofChris Lattner2004-08-101-3/+3
| | | | | | | lib/Target/Sparc, we should not use it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15603 91177308-0d34-0410-b5e6-96231b3b80d8
* Use the current target name instead of a ClassPrefix.Misha Brukman2004-08-091-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15585 91177308-0d34-0410-b5e6-96231b3b80d8
* * Use Classname and ClassPrefix instead of hard-coded V9 valuesMisha Brukman2004-08-091-8/+7
| | | | | | | * Simplify code and shorten lines by not recomputing values git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15582 91177308-0d34-0410-b5e6-96231b3b80d8
* * Added documentation in the file headerMisha Brukman2004-08-041-2/+4
| | | | | | | * Shorten assert() text to make it fit within 80 cols git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15508 91177308-0d34-0410-b5e6-96231b3b80d8
* Finegrainify namespacificationChris Lattner2004-08-011-4/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15381 91177308-0d34-0410-b5e6-96231b3b80d8
* Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke2003-11-111-0/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
* Added LLVM copyright header.John Criswell2003-10-201-0/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9305 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not put DEBUG() guard around error condition; this must *always* be printed.Misha Brukman2003-09-171-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8583 91177308-0d34-0410-b5e6-96231b3b80d8
* Added asserts to prevent negative shift amounts from being generated.Misha Brukman2003-08-061-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7640 91177308-0d34-0410-b5e6-96231b3b80d8
* convert over to using TableGen backendsChris Lattner2003-08-061-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7628 91177308-0d34-0410-b5e6-96231b3b80d8
* Stop special-casing annul and predict bits (which are Sparc-specific anyway)Misha Brukman2003-08-051-8/+1
| | | | | | | since those bits are now hard-coded in Sparc*.td files. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7593 91177308-0d34-0410-b5e6-96231b3b80d8
* No functional changes, comment the fix I just put inChris Lattner2003-08-051-4/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7590 91177308-0d34-0410-b5e6-96231b3b80d8
* The CodeEmitterGenerator used to consider ANY uninitialized field as being anChris Lattner2003-08-051-48/+48
| | | | | | | | operand (unless it's annul or predict). Now we only consider fields to be operands if they are uninitialized AND used in the "Inst" field. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7589 91177308-0d34-0410-b5e6-96231b3b80d8
* DEBUG got moved to Debug.hChris Lattner2003-08-011-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7491 91177308-0d34-0410-b5e6-96231b3b80d8
* Add new getValueAsBitsInit 'high-level' methodChris Lattner2003-08-011-9/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7467 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify code to match new interfacesChris Lattner2003-08-011-8/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7464 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor cleanupsChris Lattner2003-08-011-6/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7462 91177308-0d34-0410-b5e6-96231b3b80d8
* Factor code out into a new getAllDerivedDefinitions method, which is ↵Chris Lattner2003-08-011-6/+1
| | | | | | generally useful git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7461 91177308-0d34-0410-b5e6-96231b3b80d8
* More minor cleanups of the interfaceChris Lattner2003-07-311-2/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7446 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename createEmitter to run because eventually all tablegen backends willChris Lattner2003-07-311-3/+3
| | | | | | | be subclasses of a common interface. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7445 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't crash if there is no Inst class in the tablegen file!Chris Lattner2003-07-291-2/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7402 91177308-0d34-0410-b5e6-96231b3b80d8
* Added a DEBUG() guard to a debug information printout.Misha Brukman2003-07-181-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7203 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixed a bug: outputting name of variable instead of its value.Misha Brukman2003-07-151-11/+17
| | | | | | | | Also, placed DEBUG() guards around debug information so that the generated file is much smaller and hence should be faster to preprocess/compile. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7180 91177308-0d34-0410-b5e6-96231b3b80d8
* This optimization greatly enhances efficiency of creating new instructions byMisha Brukman2003-07-151-6/+106
| | | | | | | | masking and shifting operands directly into their place in the instruction, instead of the old-fashioned way of ORing in each bit separately. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7179 91177308-0d34-0410-b5e6-96231b3b80d8
* Stop using the `Offset' variable, as we are cycling through the bits of a fieldMisha Brukman2003-07-071-8/+7
| | | | | | | | initializer and the loop index variable already carries the offset information that we need. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7123 91177308-0d34-0410-b5e6-96231b3b80d8
* Old versions of GCC doesn't have <ostream> :(Chris Lattner2003-06-061-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6661 91177308-0d34-0410-b5e6-96231b3b80d8
* All debug print statements are now output with the DEBUG() guard to makeMisha Brukman2003-06-061-3/+3
| | | | | | | output clean so that tests can automatically diff the output. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6643 91177308-0d34-0410-b5e6-96231b3b80d8
* * Stop ignoring cc registers, since we actually use them in branches.Misha Brukman2003-06-051-1/+2
| | | | | | | * Added comment as to why we are still ignoring predict and annul bits. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6636 91177308-0d34-0410-b5e6-96231b3b80d8
* Stop ignoring the `cc' field, we actually use it now (e.g. conditional move)Misha Brukman2003-06-031-2/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6555 91177308-0d34-0410-b5e6-96231b3b80d8
* getValueOp() now takes a MachineInstr as well as a MachineOperand.Misha Brukman2003-05-301-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6450 91177308-0d34-0410-b5e6-96231b3b80d8
* Output the opcode name of the instruction being emitted to cerr.Misha Brukman2003-05-281-3/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6386 91177308-0d34-0410-b5e6-96231b3b80d8
* Cannot output `static' in generated cpp code: results in error. It's alreadyMisha Brukman2003-05-271-1/+1
| | | | | | | specified as a static member in class definition. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6370 91177308-0d34-0410-b5e6-96231b3b80d8
* * Now outputting a static function getBinaryCodeForInstr() (JIT-accessible)Misha Brukman2003-05-271-16/+33
| | | | | | | | | | | | * For debugging purposes: + output the predefined bit pattern of the instruction * Fixed inefficiency: only load an operand from MachineInstr once * Bug fix: did not advance bit index when seeing named bit-fields "annul", "cc" and "predict" * Added a catch-all for non-supported instructions at the end of switch stmt. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6368 91177308-0d34-0410-b5e6-96231b3b80d8
* First cut at the Code Generator using the TableGen methodology.Misha Brukman2003-05-241-0/+105
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6321 91177308-0d34-0410-b5e6-96231b3b80d8