Chris Lattner
|
254980008b
|
Add full support for code generating expanders!
This includes support for referencing named arguments.
llvm-svn: 7715
|
2003-08-10 23:51:52 +00:00 |
Chris Lattner
|
1bce0f268b
|
Implement autopromotion of leaf trees from arguments to nodes of their own,
making it easier to write patterns without lots of extraneous parens
llvm-svn: 7714
|
2003-08-10 22:38:36 +00:00 |
Chris Lattner
|
3859c9a8db
|
Implement correct parsing, representation, and printing of DAG argument names
Implements testcase TableGen/TreeNames.td
llvm-svn: 7713
|
2003-08-10 22:14:13 +00:00 |
Chris Lattner
|
5223d51aac
|
Implement real code emission, at least for Instruction patterns,
next up: support for expanders
llvm-svn: 7710
|
2003-08-10 21:54:43 +00:00 |
Chris Lattner
|
0e00f36924
|
First cut at emitting the reducer. This reducer just prints out the patterns
selected, but it seems to work great!
llvm-svn: 7709
|
2003-08-10 20:34:13 +00:00 |
Chris Lattner
|
d2ec0bd8f0
|
Finish the matcher!
llvm-svn: 7707
|
2003-08-10 19:50:51 +00:00 |
Chris Lattner
|
575288e02d
|
This implements a large amount of the matcher, in fact, all of it except for one bug
llvm-svn: 7702
|
2003-08-08 22:29:23 +00:00 |
Chris Lattner
|
1ac45ba538
|
Emit the first half of the instruction selector.
llvm-svn: 7701
|
2003-08-08 16:30:10 +00:00 |
Chris Lattner
|
4d8ba42bc4
|
Finish implementation of nonterminal instantiation.
Tree patterns are now, finally, ready to use!
llvm-svn: 7699
|
2003-08-07 23:16:20 +00:00 |
Chris Lattner
|
19630d41f8
|
Implement type-inference/checking for non-terminal references
llvm-svn: 7686
|
2003-08-07 21:02:56 +00:00 |
Chris Lattner
|
acf3dbe0c5
|
Rename all of the "Process" methods to be "read" methods, start the Instantiate method
llvm-svn: 7685
|
2003-08-07 20:42:23 +00:00 |
Chris Lattner
|
ca89a11494
|
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)
llvm-svn: 7684
|
2003-08-07 19:59:42 +00:00 |
Chris Lattner
|
bd1ffb4ea1
|
Use the new version of isSubClassOf
llvm-svn: 7683
|
2003-08-07 19:42:14 +00:00 |
Chris Lattner
|
9b759739ef
|
Cleanup and reorganize code, no functional changes
llvm-svn: 7679
|
2003-08-07 19:28:55 +00:00 |
Chris Lattner
|
b6629063ec
|
Read in expanders too
llvm-svn: 7678
|
2003-08-07 19:21:10 +00:00 |
Chris Lattner
|
a63e04482f
|
Continued evolution of the selector emitter: Represent instruction patterns
as first class objects
llvm-svn: 7677
|
2003-08-07 19:12:24 +00:00 |
Chris Lattner
|
ccb9f8ed54
|
Finish implementation of the type inference engine.
Start working on reading in nonterminals
llvm-svn: 7671
|
2003-08-07 06:02:15 +00:00 |
Chris Lattner
|
c01182c716
|
Initial checkin of tree pattern parser and type inference engine (which still needs work).
llvm-svn: 7668
|
2003-08-07 05:40:14 +00:00 |
Chris Lattner
|
48b78c8bf3
|
Export the register classes so that the instruction selector can get at them as needed
llvm-svn: 7651
|
2003-08-06 21:47:14 +00:00 |
Chris Lattner
|
f0f55a9b28
|
Add error checking code to the node type parser. Start the instruction pattern
reader
llvm-svn: 7632
|
2003-08-06 06:16:35 +00:00 |
Chris Lattner
|
b5035a4ec9
|
Initial support for an instruction selector emitter
llvm-svn: 7631
|
2003-08-06 05:42:05 +00:00 |