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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
14d7c59491
Add file comment
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7444 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-31 04:37:57 +00:00
aaa3939476
Tighten up interface
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7443 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-31 04:32:37 +00:00