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
|
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
|
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
|
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
|
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
|
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
|
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 |
|
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 |
|