34 Commits

Author SHA1 Message Date
Chris Lattner
479871517f Squelch warning
llvm-svn: 8658
2003-09-22 20:27:10 +00:00
Chris Lattner
dfd6dc9716 Fix warning on sparc build
llvm-svn: 8006
2003-08-21 15:59:16 +00:00
Chris Lattner
58c8999bca Add support for nodes with void arguments, like chain nodes
llvm-svn: 7869
2003-08-15 04:28:04 +00:00
Chris Lattner
4ae9a82af1 Fix emission of instructions that directly reference MBBs
llvm-svn: 7771
2003-08-12 05:19:49 +00:00
Chris Lattner
3dbc8d8eb2 Add support for the Any type. Minor fixes and enhancements for BasicBlock operands
llvm-svn: 7769
2003-08-12 04:56:42 +00:00
Chris Lattner
863477568d Rename DNVT_bool to DNVT_i1 to be consistent with type system
llvm-svn: 7768
2003-08-12 04:28:21 +00:00
Chris Lattner
9bfaf9c74e Add support for a bool argty
llvm-svn: 7766
2003-08-12 04:12:42 +00:00
Chris Lattner
f75f0fe692 It is not an error if a rule does not match, it's just a failed match!
llvm-svn: 7761
2003-08-11 22:30:51 +00:00
Chris Lattner
e91ffcf8bd Add support for frameidx and literal immediates for instructions
llvm-svn: 7749
2003-08-11 21:28:59 +00:00
Chris Lattner
114ee856b4 Add support for naming the destination of a "set" in a pattern
llvm-svn: 7748
2003-08-11 20:32:02 +00:00
Chris Lattner
641eca6881 Add support for the Arg1 argument type
llvm-svn: 7747
2003-08-11 20:25:52 +00:00
Chris Lattner
8c7089a744 Don't forget to initializer result field to 0!
llvm-svn: 7729
2003-08-11 15:47:35 +00:00
Misha Brukman
8477eb70ee Put printouts of acquired patterns under the DEBUG() guard, fixed spelling.
llvm-svn: 7723
2003-08-11 15:16:12 +00:00
Chris Lattner
6b5833f7f9 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
064a7ce4ab 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
b02ea334f3 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
328e935aa6 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
9392cd389e 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
ba61a16a15 Finish the matcher!
llvm-svn: 7707
2003-08-10 19:50:51 +00:00
Chris Lattner
1f87681075 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
f169468353 Emit the first half of the instruction selector.
llvm-svn: 7701
2003-08-08 16:30:10 +00:00
Chris Lattner
5f95cc5c26 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
d7279de40d Implement type-inference/checking for non-terminal references
llvm-svn: 7686
2003-08-07 21:02:56 +00:00
Chris Lattner
578cd4425b 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
096a2cc522 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
6fc628b98f Use the new version of isSubClassOf
llvm-svn: 7683
2003-08-07 19:42:14 +00:00
Chris Lattner
4d0c647dec Cleanup and reorganize code, no functional changes
llvm-svn: 7679
2003-08-07 19:28:55 +00:00
Chris Lattner
3b511f0c58 Read in expanders too
llvm-svn: 7678
2003-08-07 19:21:10 +00:00
Chris Lattner
31b26b9414 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
2e7d8d61bb 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
8d5ace1eb5 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
919d5c465c 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
4671977130 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
6a87b317a2 Initial support for an instruction selector emitter
llvm-svn: 7631
2003-08-06 05:42:05 +00:00