summaryrefslogtreecommitdiff
path: root/utils/TableGen/CodeEmitterGen.cpp
Commit message (Collapse)AuthorAge
* Fix miscodegen of V_SET0 in PPC.Chris Lattner2006-03-18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26836 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't emit JIT code for these instructionsChris Lattner2006-01-27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25669 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix an incompatibility with GCC 4.1, thanks to Vladimir MerzliakovChris Lattner2005-10-24
| | | | | | | for pointing this out! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23963 91177308-0d34-0410-b5e6-96231b3b80d8
* The code emitter generator only supports targets with 32-bit instructionChris Lattner2005-08-19
| | | | | | | words. There is no way for one of these targets to have a > 32-bit immediate! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22897 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove trailing whitespaceMisha Brukman2005-04-22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21428 91177308-0d34-0410-b5e6-96231b3b80d8
* * Factor out (into new fn) a loop emitting operand shifts into the instructionMisha Brukman2004-10-14
| | | | | | | | * Reverse instruction bit components for a LittleEndian-style encoding * Fix some comments and spacing git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16975 91177308-0d34-0410-b5e6-96231b3b80d8
* Changes For Bug 352Reid Spencer2004-09-01
| | | | | | | | | 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-17
| | | | 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-10
| | | | 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-10
| | | | 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-10
| | | | | | | 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-09
| | | | 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-09
| | | | | | | * 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-04
| | | | | | | * 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-01
| | | | 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-11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
* Added LLVM copyright header.John Criswell2003-10-20
| | | | 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-17
| | | | 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-06
| | | | 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-06
| | | | 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-05
| | | | | | | 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-05
| | | | 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-05
| | | | | | | | 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-01
| | | | 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-01
| | | | 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-01
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7464 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor cleanupsChris Lattner2003-08-01
| | | | 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-01
| | | | | | 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-31
| | | | 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-31
| | | | | | | 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-29
| | | | 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-18
| | | | 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-15
| | | | | | | | 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-15
| | | | | | | | 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-07
| | | | | | | | 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-06
| | | | 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-06
| | | | | | | 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-05
| | | | | | | * 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-03
| | | | 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-30
| | | | 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-28
| | | | 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-27
| | | | | | | 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-27
| | | | | | | | | | | | * 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-24
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6321 91177308-0d34-0410-b5e6-96231b3b80d8