1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-24 21:42:54 +02:00
Commit Graph

159 Commits

Author SHA1 Message Date
Chris Lattner
dfd6dc9716 Fix warning on sparc build
llvm-svn: 8006
2003-08-21 15:59:16 +00:00
John Criswell
96a14a8d3b Added #include <cassert>. In GCC 3.3, we don't get assert() through the other
language header files like we did under 3.2.1, and we're not grabbing it
through the LLVM header files either.  So just include it directly.

llvm-svn: 7996
2003-08-20 22:07:45 +00:00
Misha Brukman
45cd64978d X86.td has been moved out of this directory; these are outdated targets.
llvm-svn: 7971
2003-08-19 16:11:38 +00:00
Misha Brukman
56f7db4178 Spell `necessary' correctly.
llvm-svn: 7944
2003-08-18 14:43:39 +00:00
Chris Lattner
894af9f898 Ignore dummy register classes
llvm-svn: 7871
2003-08-15 04:36:19 +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
Misha Brukman
283afdd02b Using std::remove' requires cstdio.h'.
llvm-svn: 7843
2003-08-14 16:05:35 +00:00
Misha Brukman
5d61e0d79b Using std::string requires `#include <string>', says gcc-2.95.3.
llvm-svn: 7833
2003-08-13 22:27:15 +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
71108605d3 Recognize $foo as a variable
llvm-svn: 7712
2003-08-10 22:04:25 +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
d754461205 Add new function
llvm-svn: 7706
2003-08-10 19:50:32 +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
9226d186a5 Add new method to get a value type as a string
llvm-svn: 7698
2003-08-07 23:15:21 +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
69b1d7c0d6 Add and use a new method
llvm-svn: 7682
2003-08-07 19:41:59 +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
24cea97f79 Allow clients to get at the pointer type
llvm-svn: 7670
2003-08-07 06:01:44 +00:00
Chris Lattner
7f47b0d303 Add new method getVAlueAsDag
llvm-svn: 7669
2003-08-07 06:00:43 +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
dc23074e6a Eliminate now-dead method
llvm-svn: 7667
2003-08-07 05:39:37 +00:00
Chris Lattner
8a216b871d Start using the CodeGeneratorWrappers
llvm-svn: 7666
2003-08-07 05:39:09 +00:00
Chris Lattner
26601ab6fa Initial checkin of useful wrappers around the Target classes, for now, only ValueType and
Target are wrapped

llvm-svn: 7665
2003-08-07 05:38:11 +00:00
Chris Lattner
e0deb31fd5 Ick, add the RIGHT accessor
llvm-svn: 7656
2003-08-06 23:01:18 +00:00
Chris Lattner
799db97d3d Add accessor
llvm-svn: 7655
2003-08-06 23:00:31 +00:00
Chris Lattner
e5001079d1 There is something wrong with code that looks like:
if (R == 0 || ...)
  R->getName()

llvm-svn: 7654
2003-08-06 22:29:04 +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
Misha Brukman
ad7dda52c9 Added asserts to prevent negative shift amounts from being generated.
llvm-svn: 7640
2003-08-06 16:28:49 +00:00