Chris Lattner
faca5ab189
Initial support for an instruction selector emitter
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7631 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-06 05:42:05 +00:00
Chris Lattner
a7ac3cfabe
All good classes with virtual functions should have virtual dtors...
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7630 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-06 05:39:03 +00:00
Chris Lattner
3f781341f9
Add an instruction selector emitter skeleton
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7629 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-06 04:47:56 +00:00
Chris Lattner
0e5e49e688
convert over to using TableGen backends
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7628 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-06 04:36:35 +00:00
Chris Lattner
bc01723605
Switch code over to being a TableGenBackend
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7627 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-06 04:32:07 +00:00
Chris Lattner
18a6a94e1f
Add more helper methods
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7626 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-06 04:31:26 +00:00
Chris Lattner
2c0f2c74be
New common interface for backends to use
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7625 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-06 04:23:04 +00:00
Misha Brukman
d88ba5a861
Stop special-casing annul and predict bits (which are Sparc-specific anyway)
...
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
2003-08-05 14:35:35 +00:00
Chris Lattner
ffaee37556
No functional changes, comment the fix I just put in
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7590 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-05 03:59:01 +00:00
Chris Lattner
d7efef9d14
The CodeEmitterGenerator used to consider ANY uninitialized field as being an
...
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
2003-08-05 03:53:04 +00:00
Chris Lattner
bc21c34ea1
Parse DAG patterns
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7577 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-04 20:44:43 +00:00
Chris Lattner
8e9a9774eb
add support for DagInit initializers, which represent DAG patterns
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7576 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-04 20:44:17 +00:00
Chris Lattner
13854f295b
Update file header comment
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7574 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-04 20:08:28 +00:00
Chris Lattner
cad3569656
Transition complete, remove the obsolete 'set' keyword
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7566 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-04 05:04:52 +00:00
Chris Lattner
42aa89eeb1
Start transitioning towards using 'let X = y in' statements, instead of 'set X = y in'.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7562 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-04 04:56:53 +00:00
Chris Lattner
e9d019c364
It appears that somehow we forgot to add support for code variables.
...
Fix bug: TableGen/2003-08-03-PassCode.td
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7561 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-04 04:53:50 +00:00
Chris Lattner
40f71134b9
Add initial support for a new 'dag' type
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7559 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-04 04:50:57 +00:00
Chris Lattner
a8af7799dd
Allow registers to specify a custom name
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7548 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-03 22:14:50 +00:00
Chris Lattner
15de32d706
add new --gen-instr-desc option
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7545 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-03 21:58:28 +00:00
Chris Lattner
0969c5bdf2
Add new Record::getValueAsBit method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7544 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-03 21:58:13 +00:00
Chris Lattner
a3ae6143c1
Finish the instruction info emitter
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7543 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-03 21:57:51 +00:00
Chris Lattner
08ca97291f
Fix bug: TableGen/IntBitInit.td
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7526 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-03 18:29:51 +00:00
Chris Lattner
d19c2cf5d2
Fix bug: TableGen/BitsInitOverflow.td
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7524 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-03 18:24:34 +00:00
Chris Lattner
13c5b4cdc8
* Changes to allow lists of any type
...
* Reorganize Target class a bit
* Fix string out of range access bug
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7520 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-03 18:17:54 +00:00
Chris Lattner
7cf0ce4b8d
Changes to allow lists of any type
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7519 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-03 18:17:22 +00:00
Chris Lattner
bc1f0dc7eb
expand contraction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7518 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-03 18:12:59 +00:00
Chris Lattner
169e66bfc2
Add support for instruction enum emission
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7516 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-03 17:24:20 +00:00
Chris Lattner
33ccf7edff
Initial checkin of Instruction emitter, which just produces enum values so far
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7515 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-03 17:24:10 +00:00
Chris Lattner
d17eabe1d3
Remove dead private:
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7514 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-03 16:30:24 +00:00
Chris Lattner
0bb66fc30e
Make the register numbers line up more frequently
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7508 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-03 15:40:38 +00:00
Chris Lattner
6009425e88
Allow an external 'set' command to set multiple values in the same command.
...
Allow redefinitions of variables as long as they are of the same type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7507 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-03 13:58:01 +00:00
Chris Lattner
9fff8919ee
Finish the register info emitter
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7506 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-03 13:52:02 +00:00
Chris Lattner
dbb295bd0d
Add new method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7502 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-02 01:27:37 +00:00
Chris Lattner
c648dabf65
DEBUG got moved to Debug.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7491 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 22:13:59 +00:00
Chris Lattner
e79c72d4cd
Tablegen should only replace the output if it changes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7486 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 20:35:01 +00:00
Chris Lattner
f1e366acff
Make sure to delete the output file if there is an error
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7481 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 19:21:43 +00:00
Chris Lattner
c7d58024f8
add support for emitting register classes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7473 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 06:27:59 +00:00
Chris Lattner
58c5de1692
Add new getValueAsListInit and getValueAsInt methods
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7472 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 06:15:10 +00:00
Chris Lattner
54d156d333
Add the ability to emit register file enums
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7471 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 05:59:20 +00:00
Chris Lattner
24151a6888
Fix the way field bit references are resolved, also allow resolution of field references overall!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7470 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 05:58:58 +00:00
Chris Lattner
accd8abeeb
Dead code elimination
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7468 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 04:47:20 +00:00
Chris Lattner
6f334ad8f5
Add new getValueAsBitsInit 'high-level' method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7467 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 04:46:24 +00:00
Chris Lattner
1d1adea493
Add file comment
...
Add register info emitter
Simplify code by using "high-level" methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7466 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 04:39:05 +00:00
Chris Lattner
3112326c88
Initial checkin of register info emitter
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7465 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 04:38:38 +00:00
Chris Lattner
048c00db1c
Simplify code to match new interfaces
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7464 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 04:38:18 +00:00
Chris Lattner
5c737ad4d6
Switch over to an exception handling model for "high-level" requests.
...
Add new getValueAsString method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7463 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 04:37:57 +00:00
Chris Lattner
cf1b585312
Minor cleanups
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7462 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 04:15:25 +00:00
Chris Lattner
ab47ae3381
Factor code out into a new getAllDerivedDefinitions method, which is generally useful
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7461 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 04:09:58 +00:00
Chris Lattner
c9670ef17d
More minor cleanups of the interface
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7446 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-31 04:43:49 +00:00
Chris Lattner
f745a20deb
Rename createEmitter to run because eventually all tablegen backends will
...
be subclasses of a common interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7445 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-31 04:38:26 +00:00