Chris Lattner
50a3c83896
Add file comment
...
llvm-svn: 7444
2003-07-31 04:37:57 +00:00
Chris Lattner
2ec4944d3a
Tighten up interface
...
llvm-svn: 7443
2003-07-31 04:32:37 +00:00
Chris Lattner
291b42e5ad
Add support for code fragments
...
llvm-svn: 7440
2003-07-30 22:15:58 +00:00
Chris Lattner
36def4610b
Initial support for the 'code' type.
...
llvm-svn: 7439
2003-07-30 21:47:42 +00:00
Chris Lattner
57e07e2448
Move err() to the lexer, implement file inclusion capabilities directly in tblgen
...
llvm-svn: 7436
2003-07-30 20:56:47 +00:00
Chris Lattner
bf4883148a
Minor reorganization, move ParseFile to the lexer
...
llvm-svn: 7432
2003-07-30 19:55:10 +00:00
Chris Lattner
28dc5d843c
Make tablegen take an input filename to parse if one is specified, otherwise
...
use stdin.
llvm-svn: 7431
2003-07-30 19:48:02 +00:00
Chris Lattner
5a67c69120
Directly support C style comments in tblgen, but allow them to actually nest
...
llvm-svn: 7429
2003-07-30 19:39:36 +00:00
Chris Lattner
5c843c7ace
Fix coredump for when an ID is used illegally outside a record
...
llvm-svn: 7411
2003-07-30 05:17:35 +00:00
Chris Lattner
8092d1b32c
Don't pollute the namespace with template arguments after they have been resolved
...
llvm-svn: 7410
2003-07-30 04:56:05 +00:00
Chris Lattner
e5967952c9
Implement TODO: disallow 'def's with template arguments.
...
llvm-svn: 7409
2003-07-30 04:31:17 +00:00
Chris Lattner
ef05094872
Allow specification of anonymous definitions
...
llvm-svn: 7408
2003-07-30 04:26:44 +00:00
Chris Lattner
5ef4c8804e
Allow passing lists through variables
...
llvm-svn: 7407
2003-07-30 04:16:52 +00:00
Chris Lattner
27b2f9e7c2
Implement resolution of variables to the value of the variable once it gets a value
...
llvm-svn: 7406
2003-07-30 04:05:07 +00:00
Chris Lattner
b964a87dfe
Don't crash if there is no Inst class in the tablegen file!
...
llvm-svn: 7402
2003-07-29 23:00:08 +00:00
Chris Lattner
3ed1a8d26b
Add support for Set statements without {}'s. Now we can just say
...
set Foo = bar in
def blah: blahclass {}
llvm-svn: 7355
2003-07-28 03:49:40 +00:00
Chris Lattner
590c74e14d
Allow initializing variable initializers with variables
...
llvm-svn: 7354
2003-07-28 03:39:57 +00:00
Chris Lattner
89596df8dd
Use C++ headers, not C headers
...
llvm-svn: 7308
2003-07-25 17:32:51 +00:00
Misha Brukman
8a57ef8390
Added a DEBUG() guard to a debug information printout.
...
llvm-svn: 7203
2003-07-18 18:03:45 +00:00
Misha Brukman
d0f2196d2e
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.
llvm-svn: 7180
2003-07-15 21:26:09 +00:00
Misha Brukman
414c95141f
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.
llvm-svn: 7179
2003-07-15 21:00:32 +00:00
Misha Brukman
73f1bbeecd
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.
llvm-svn: 7123
2003-07-07 22:30:44 +00:00
John Criswell
258dfc0319
Merged in autoconf branch. This provides configuration via the autoconf
...
system.
llvm-svn: 7014
2003-06-30 21:59:07 +00:00
John Criswell
5d5d0787d1
Added assert.h so that it compiles under newer versions of GCC.
...
llvm-svn: 6683
2003-06-11 14:17:21 +00:00
Chris Lattner
51bbe7b282
Old versions of GCC doesn't have <ostream> :(
...
llvm-svn: 6661
2003-06-06 23:06:20 +00:00
Misha Brukman
545d95e475
All debug print statements are now output with the DEBUG() guard to make
...
output clean so that tests can automatically diff the output.
llvm-svn: 6643
2003-06-06 00:27:02 +00:00
Misha Brukman
de307f15d4
* Stop ignoring cc registers, since we actually use them in branches.
...
* Added comment as to why we are still ignoring predict and annul bits.
llvm-svn: 6636
2003-06-05 23:15:25 +00:00
Chris Lattner
b35f33f39e
Spiff up options a bit
...
llvm-svn: 6573
2003-06-03 05:07:28 +00:00
Chris Lattner
3d2a9dcc14
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. :)
llvm-svn: 6571
2003-06-03 05:04:42 +00:00
Chris Lattner
5531141028
Make tablegen use more structured command line options
...
llvm-svn: 6570
2003-06-03 04:56:29 +00:00
Misha Brukman
58aeba1c5f
Stop ignoring the `cc' field, we actually use it now (e.g. conditional move)
...
llvm-svn: 6555
2003-06-03 00:07:17 +00:00
Misha Brukman
62904a1538
getValueOp() now takes a MachineInstr as well as a MachineOperand.
...
llvm-svn: 6450
2003-05-30 20:32:01 +00:00
Misha Brukman
59ea121b52
Output the opcode name of the instruction being emitted to cerr.
...
llvm-svn: 6386
2003-05-28 18:29:10 +00:00
Misha Brukman
6c51fb5dd1
Cannot output `static' in generated cpp code: results in error. It's already
...
specified as a static member in class definition.
llvm-svn: 6370
2003-05-27 22:29:02 +00:00
Misha Brukman
170b9ffe76
* 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.
llvm-svn: 6368
2003-05-27 22:19:58 +00:00
Misha Brukman
25b8510b7e
Add ability to utilize the code emitter generator (CodeEmitterGen).
...
llvm-svn: 6322
2003-05-24 00:17:12 +00:00
Misha Brukman
be1457481b
First cut at the Code Generator using the TableGen methodology.
...
llvm-svn: 6321
2003-05-24 00:15:53 +00:00
Misha Brukman
7af77acec0
I fixed that ``thang'', yo.
...
llvm-svn: 6252
2003-05-20 23:45:36 +00:00
Chris Lattner
48b0c706a4
Fix bug
...
llvm-svn: 4942
2002-12-06 04:42:16 +00:00
Chris Lattner
3e112b9973
Allow printing partially constructed bitsets
...
llvm-svn: 4941
2002-12-06 04:42:10 +00:00
Chris Lattner
80ba7cbffc
Don't delete values that may still be referenced!
...
llvm-svn: 4940
2002-12-06 04:02:48 +00:00
Chris Lattner
b20f8a3d5d
Tighten up assertion checking
...
llvm-svn: 4939
2002-12-06 03:55:39 +00:00
Chris Lattner
173aae3f70
Add code that can be used for debugging
...
llvm-svn: 4888
2002-12-03 20:01:04 +00:00
Chris Lattner
d07b76e83a
Continue implementing field initializers
...
llvm-svn: 4879
2002-12-03 06:00:33 +00:00
Chris Lattner
15cd2a0edb
Don't delete temporary files
...
llvm-svn: 4878
2002-12-03 06:00:11 +00:00
Misha Brukman
67923fb2cd
Ignore generated files FileLexer.* and FileParser.*
...
llvm-svn: 4860
2002-12-02 21:13:59 +00:00
Chris Lattner
1a4dddb269
Continued support for field intitializers
...
llvm-svn: 4855
2002-12-02 17:53:54 +00:00
Chris Lattner
29f8466be1
Continued support for field initializer
...
llvm-svn: 4854
2002-12-02 17:44:35 +00:00
Chris Lattner
b3385a75b7
Continued support for Field Initializer
...
llvm-svn: 4853
2002-12-02 17:43:58 +00:00
Chris Lattner
09e5402d2f
Adjustments due to new FieldInit stuff
...
llvm-svn: 4852
2002-12-02 17:43:43 +00:00
Chris Lattner
8c9131ede0
Add comments, factor out common code
...
llvm-svn: 4851
2002-12-02 16:57:01 +00:00
Chris Lattner
f04515fec4
Add support for field exprs
...
llvm-svn: 4850
2002-12-02 16:43:43 +00:00
Chris Lattner
42ea6fe801
* Move BitsInit::resolveReferences up with the rest of BitsInit code
...
* Initial support for field expressions
llvm-svn: 4849
2002-12-02 16:43:30 +00:00
Chris Lattner
b05511cde1
Initial support for Field Expressions
...
llvm-svn: 4848
2002-12-02 16:42:52 +00:00
Chris Lattner
c0794f940a
Add correct dependency
...
llvm-svn: 4847
2002-12-02 16:31:46 +00:00
Chris Lattner
5f7c43d3d5
Split up targets
...
llvm-svn: 4846
2002-12-02 16:13:42 +00:00
Chris Lattner
442ad12dff
Add comments
...
llvm-svn: 4845
2002-12-02 16:13:23 +00:00
Chris Lattner
8f9112b1bb
Initial checkin of TableGen utility
...
llvm-svn: 4843
2002-12-02 01:23:04 +00:00