Chris Lattner
053a205d63
Add full support for code generating expanders!
...
This includes support for referencing named arguments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7715 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-10 23:51:52 +00:00
Chris Lattner
990db46e9a
Implement autopromotion of leaf trees from arguments to nodes of their own,
...
making it easier to write patterns without lots of extraneous parens
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7714 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-10 22:38:36 +00:00
Chris Lattner
91290d7e9a
Implement correct parsing, representation, and printing of DAG argument names
...
Implements testcase TableGen/TreeNames.td
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7713 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-10 22:14:13 +00:00
Chris Lattner
fb9ea58eb1
Recognize $foo as a variable
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7712 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-10 22:04:25 +00:00
Chris Lattner
094ec50a28
Implement real code emission, at least for Instruction patterns,
...
next up: support for expanders
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7710 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-10 21:54:43 +00:00
Chris Lattner
616700402a
First cut at emitting the reducer. This reducer just prints out the patterns
...
selected, but it seems to work great!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7709 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-10 20:34:13 +00:00
Chris Lattner
9552b8c159
Finish the matcher!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7707 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-10 19:50:51 +00:00
Chris Lattner
b72fb7ef75
Add new function
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7706 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-10 19:50:32 +00:00
Chris Lattner
955c1be529
This implements a large amount of the matcher, in fact, all of it except for one bug
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7702 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-08 22:29:23 +00:00
Chris Lattner
6dafd3921d
Emit the first half of the instruction selector.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7701 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-08 16:30:10 +00:00
Chris Lattner
ef0ce6a494
Finish implementation of nonterminal instantiation.
...
Tree patterns are now, finally, ready to use!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7699 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 23:16:20 +00:00
Chris Lattner
d3464c19a8
Add new method to get a value type as a string
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7698 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 23:15:21 +00:00
Chris Lattner
5709e512b1
Implement type-inference/checking for non-terminal references
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7686 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 21:02:56 +00:00
Chris Lattner
ee858d2a83
Rename all of the "Process" methods to be "read" methods, start the Instantiate method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7685 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 20:42:23 +00:00
Chris Lattner
90825b4b4b
Add support for "cast" nodes, which are required when there is not enough information
...
to infer type type of all nodes, e.g. (ret imm)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7684 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 19:59:42 +00:00
Chris Lattner
ab05e2aa4c
Use the new version of isSubClassOf
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7683 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 19:42:14 +00:00
Chris Lattner
a40e5ad69f
Add and use a new method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7682 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 19:41:59 +00:00
Chris Lattner
2b8b2b4aee
Cleanup and reorganize code, no functional changes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7679 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 19:28:55 +00:00
Chris Lattner
b356a24bf1
Read in expanders too
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7678 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 19:21:10 +00:00
Chris Lattner
f8e9683a33
Continued evolution of the selector emitter: Represent instruction patterns
...
as first class objects
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7677 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 19:12:24 +00:00
Chris Lattner
bc659ddb85
Finish implementation of the type inference engine.
...
Start working on reading in nonterminals
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7671 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 06:02:15 +00:00
Chris Lattner
54c66feed9
Allow clients to get at the pointer type
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7670 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 06:01:44 +00:00
Chris Lattner
784a793636
Add new method getVAlueAsDag
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7669 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 06:00:43 +00:00
Chris Lattner
018c9e4d26
Initial checkin of tree pattern parser and type inference engine (which still needs work).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7668 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 05:40:14 +00:00
Chris Lattner
84a393bd0d
Eliminate now-dead method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7667 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 05:39:37 +00:00
Chris Lattner
7884b750c3
Start using the CodeGeneratorWrappers
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7666 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 05:39:09 +00:00
Chris Lattner
4587207967
Initial checkin of useful wrappers around the Target classes, for now, only ValueType and
...
Target are wrapped
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7665 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 05:38:11 +00:00
Chris Lattner
eac56ac0da
Ick, add the RIGHT accessor
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7656 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-06 23:01:18 +00:00
Chris Lattner
6514a326cf
Add accessor
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7655 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-06 23:00:31 +00:00
Chris Lattner
81a83f2770
There is something wrong with code that looks like:
...
if (R == 0 || ...)
R->getName()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7654 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-06 22:29:04 +00:00
Chris Lattner
38aa542f36
Export the register classes so that the instruction selector can get at them as needed
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7651 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-06 21:47:14 +00:00
Misha Brukman
dfd414ab77
Added asserts to prevent negative shift amounts from being generated.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7640 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-06 16:28:49 +00:00
Chris Lattner
c9cdadf2d3
Sort the file lists
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7638 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-06 16:02:50 +00:00
Chris Lattner
2787d1a34b
Add error checking code to the node type parser. Start the instruction pattern
...
reader
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7632 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-06 06:16:35 +00:00
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
6058fd3589
Forget about KEEP_SYMBOLS, make sure to build into the temp directory, not into localhome
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7450 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-31 16:05:11 +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
Chris Lattner
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
Chris Lattner
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
Chris Lattner
e3a1d05448
Add support for code fragments
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7440 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-30 22:15:58 +00:00
Chris Lattner
f05760de76
Initial support for the 'code' type.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7439 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-30 21:47:42 +00:00
Chris Lattner
7dff053540
Move err() to the lexer, implement file inclusion capabilities directly in tblgen
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7436 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-30 20:56:47 +00:00
Chris Lattner
e623fe3d0a
Minor reorganization, move ParseFile to the lexer
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7432 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-30 19:55:10 +00:00
Chris Lattner
90523906fa
Make tablegen take an input filename to parse if one is specified, otherwise
...
use stdin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7431 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-30 19:48:02 +00:00
Chris Lattner
d33b8db415
Directly support C style comments in tblgen, but allow them to actually nest
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7429 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-30 19:39:36 +00:00
Chris Lattner
18226e0cf1
Fix coredump for when an ID is used illegally outside a record
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7411 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-30 05:17:35 +00:00
Chris Lattner
bfce056ea8
Don't pollute the namespace with template arguments after they have been resolved
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7410 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-30 04:56:05 +00:00
Chris Lattner
554af5cd62
Implement TODO: disallow 'def's with template arguments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7409 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-30 04:31:17 +00:00
Chris Lattner
fc06bf0eaa
Allow specification of anonymous definitions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7408 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-30 04:26:44 +00:00
Chris Lattner
f1b36f9a71
Allow passing lists through variables
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7407 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-30 04:16:52 +00:00
Chris Lattner
9b929aa749
Implement resolution of variables to the value of the variable once it gets a value
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7406 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-30 04:05:07 +00:00
Chris Lattner
30709543d2
Don't crash if there is no Inst class in the tablegen file!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7402 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-29 23:00:08 +00:00
Chris Lattner
2e724541ff
Add support for Set statements without {}'s. Now we can just say
...
set Foo = bar in
def blah: blahclass {}
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7355 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-28 03:49:40 +00:00
Chris Lattner
ce3d64025b
Allow initializing variable initializers with variables
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7354 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-28 03:39:57 +00:00
Chris Lattner
b5b3c6fc01
Use C++ headers, not C headers
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7308 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-25 17:32:51 +00:00
Vikram S. Adve
df3ac860e8
(1) Pass 'VAR=string' arguments to gmake
...
(2) Detect LLVMDIR using the LEVEL variable in Makefile.
(3) To perform #2 propertly, use the same Makefile search rules as gmake.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7228 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-22 12:35:28 +00:00
Misha Brukman
c86516f35c
Added a DEBUG() guard to a debug information printout.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7203 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-18 18:03:45 +00:00
Misha Brukman
f6e5217b54
Fixed a bug: outputting name of variable instead of its value.
...
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
2003-07-15 21:26:09 +00:00
Misha Brukman
7eac4766b1
This optimization greatly enhances efficiency of creating new instructions by
...
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
2003-07-15 21:00:32 +00:00
Misha Brukman
48aa824279
Stop using the `Offset' variable, as we are cycling through the bits of a field
...
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
2003-07-07 22:30:44 +00:00
Misha Brukman
1b36689f03
* Made $Template refer to a path relative to the checked-out tree
...
* Made error messages print out what directory failed chdir()
* Put quotes around search arguments to grep
* Use `egrep' instead of `grep -e' because they are equivalent but `grep' does
not have the `-e' option on Sparc/Solaris
* Added `--enable-jit' to the ./configure command because both X86 and Sparc
have JITs and we want them to be tested
* Fixed the regular expressions parsing the changes in CVS which were causing
the script to die
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7118 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-07 21:27:40 +00:00
Brian Gaeke
3fb290e41f
Add -d option to trust the disassembler.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7105 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-03 21:44:32 +00:00
Brian Gaeke
6bc3b7c701
here little scriptie, nice scriptie...
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7104 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-03 21:15:02 +00:00
Chris Lattner
42815c8fc3
Update to configure the tree before building it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7026 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-01 16:02:00 +00:00
John Criswell
7a73b80b90
Merged in autoconf branch. This provides configuration via the autoconf
...
system.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7014 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-30 21:59:07 +00:00
John Criswell
3a56364f00
Added code to the clean rule that deletes files placed in the source directory.
...
These files interfer with a second build attempt.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6927 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-27 17:03:20 +00:00
Chris Lattner
c0f33b5e8b
Modify script to support checkins on branches
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6921 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-26 20:11:07 +00:00
Chris Lattner
da5a6435b2
update documentation about columns
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6833 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-21 20:09:01 +00:00
Chris Lattner
433c3fea6d
Fix breakage due to John's recent changes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6771 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-18 18:26:22 +00:00
Chris Lattner
5449955313
Fix misspelling of ExtraSources, hopefully to unbreak the nightly tester
...
Remove evil rcs tag :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6737 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17 14:30:21 +00:00
John Criswell
028936ada1
Added assert.h so that it compiles under newer versions of GCC.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6683 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-11 14:17:21 +00:00
John Criswell
aff713cca5
Updated to the new Makefile.common.
...
Modified the test rule so that it can be added to the regular test rule
(I believe the term is double dependency?).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6681 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-11 13:57:48 +00:00
Chris Lattner
1cb65f2d62
Old versions of GCC doesn't have <ostream> :(
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6661 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-06 23:06:20 +00:00
Misha Brukman
f4ef4c881f
All debug print statements are now output with the DEBUG() guard to make
...
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
2003-06-06 00:27:02 +00:00
Misha Brukman
3d194ac26b
* Stop ignoring cc registers, since we actually use them in branches.
...
* 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
2003-06-05 23:15:25 +00:00
Chris Lattner
85df22568d
Spiff up options a bit
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6573 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-03 05:07:28 +00:00
Chris Lattner
9a886386a4
Add -o support for TableGen
...
I figure that misha has done a lot of things on my todo list, the least I
can do is reciprocate a bit. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6571 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-03 05:04:42 +00:00
Chris Lattner
bc52013e30
Make tablegen use more structured command line options
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6570 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-03 04:56:29 +00:00
Misha Brukman
4817a5ea3d
Removing personal name from source code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6558 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-03 00:59:24 +00:00
Misha Brukman
f77ed7afd9
Added the to' keyword as in
cast <type> <data> to <type>'.
...
Cleaned up the header of the file (comments/description/etc).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6557 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-03 00:57:41 +00:00
Misha Brukman
5981d788f2
* Added the to' keyword, as in
cast <type> <data> to <type>'.
...
* Gave the file a maintainer.
* Cleaned up the layout somewhat.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6556 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-03 00:56:09 +00:00
Misha Brukman
9ced1671a6
Stop ignoring the `cc' field, we actually use it now (e.g. conditional move)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6555 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-03 00:07:17 +00:00
Misha Brukman
e7800b5458
getValueOp() now takes a MachineInstr as well as a MachineOperand.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6450 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-30 20:32:01 +00:00
Misha Brukman
ecc7fd3c56
Output the opcode name of the instruction being emitted to cerr.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6386 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-28 18:29:10 +00:00
Misha Brukman
b9dd8154b6
Cannot output `static' in generated cpp code: results in error. It's already
...
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
2003-05-27 22:29:02 +00:00
Misha Brukman
cbfde0a612
* Now outputting a static function getBinaryCodeForInstr() (JIT-accessible)
...
* 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
2003-05-27 22:19:58 +00:00
Misha Brukman
3578d7e7ad
Do not show errors when moving file. The error is shown the first time anyone
...
runs `utils/cvsupdate' since there is no `cvs.out' file for mv to move, and it
is reported as such.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6330 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-25 16:38:24 +00:00
Misha Brukman
f00ce8bc29
Add ability to utilize the code emitter generator (CodeEmitterGen).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6322 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-24 00:17:12 +00:00
Misha Brukman
9fff7e194a
First cut at the Code Generator using the TableGen methodology.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6321 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-24 00:15:53 +00:00
Misha Brukman
e3d333edd1
I fixed that ``thang'', yo.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6252 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-20 23:45:36 +00:00
Chris Lattner
6e51bfa2ea
Fix a halfway done change to the nightly tester :(
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6084 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-11 15:23:10 +00:00
Chris Lattner
2e8be14165
Get the nightly tester to detect other kind of testing problems
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6083 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-10 21:40:10 +00:00
Chris Lattner
30ac0c0285
Force overwriting the file if it already exists.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6080 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-10 21:19:00 +00:00
Chris Lattner
8240c66cb2
Update column info
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6079 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-10 20:54:55 +00:00
Chris Lattner
c567567759
Add support for new va_arg instruction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6026 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-08 02:41:11 +00:00
Chris Lattner
8ad51f5965
Update to add new keywords
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5846 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-22 19:31:55 +00:00
Chris Lattner
2c72b184b8
Add missing keyword, add new linkage keywords
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5785 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-16 20:26:11 +00:00
Chris Lattner
828b278d80
Add new linkage keywords. Spell uninitialized correctly
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5784 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-16 20:25:57 +00:00
Chris Lattner
88a9a3e6e3
Update to work with newer versions of bison
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5762 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-31 21:26:06 +00:00
Chris Lattner
ec0e374ba7
* Don't run tests if compilation failed
...
* Don't summarize tests if testing failed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5680 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-28 20:30:20 +00:00
Chris Lattner
915e030edf
Fix broken links
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5678 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-28 20:05:20 +00:00
Chris Lattner
9b50cbf757
Allow tests to run for 5 minutes before timing out.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5677 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-28 19:40:05 +00:00