Chris Lattner
ed39dcdaa1
Transition complete, remove the obsolete 'set' keyword
...
llvm-svn: 7566
2003-08-04 05:04:52 +00:00
Chris Lattner
fdd6d0f3a9
Start transitioning towards using 'let X = y in' statements, instead of 'set X = y in'.
...
llvm-svn: 7562
2003-08-04 04:56:53 +00:00
Chris Lattner
3abe2e63cb
It appears that somehow we forgot to add support for code variables.
...
Fix bug: TableGen/2003-08-03-PassCode.td
llvm-svn: 7561
2003-08-04 04:53:50 +00:00
Chris Lattner
afc85d274f
Add initial support for a new 'dag' type
...
llvm-svn: 7559
2003-08-04 04:50:57 +00:00
Chris Lattner
6b0869be4b
Allow registers to specify a custom name
...
llvm-svn: 7548
2003-08-03 22:14:50 +00:00
Chris Lattner
329fc9c693
add new --gen-instr-desc option
...
llvm-svn: 7545
2003-08-03 21:58:28 +00:00
Chris Lattner
928ab27a55
Add new Record::getValueAsBit method
...
llvm-svn: 7544
2003-08-03 21:58:13 +00:00
Chris Lattner
fed9de5358
Finish the instruction info emitter
...
llvm-svn: 7543
2003-08-03 21:57:51 +00:00
Chris Lattner
c851ff7ab6
Fix bug: TableGen/IntBitInit.td
...
llvm-svn: 7526
2003-08-03 18:29:51 +00:00
Chris Lattner
cabf643bf6
Fix bug: TableGen/BitsInitOverflow.td
...
llvm-svn: 7524
2003-08-03 18:24:34 +00:00
Chris Lattner
7ec26cfa3b
* Changes to allow lists of any type
...
* Reorganize Target class a bit
* Fix string out of range access bug
llvm-svn: 7520
2003-08-03 18:17:54 +00:00
Chris Lattner
a9b58a76b5
Changes to allow lists of any type
...
llvm-svn: 7519
2003-08-03 18:17:22 +00:00
Chris Lattner
acf426fb7d
expand contraction
...
llvm-svn: 7518
2003-08-03 18:12:59 +00:00
Chris Lattner
e12fa2d7d9
Add support for instruction enum emission
...
llvm-svn: 7516
2003-08-03 17:24:20 +00:00
Chris Lattner
ff4f98af45
Initial checkin of Instruction emitter, which just produces enum values so far
...
llvm-svn: 7515
2003-08-03 17:24:10 +00:00
Chris Lattner
2d2b350aff
Remove dead private:
...
llvm-svn: 7514
2003-08-03 16:30:24 +00:00
Chris Lattner
f0b32aa948
Make the register numbers line up more frequently
...
llvm-svn: 7508
2003-08-03 15:40:38 +00:00
Chris Lattner
dace98d117
Allow an external 'set' command to set multiple values in the same command.
...
Allow redefinitions of variables as long as they are of the same type.
llvm-svn: 7507
2003-08-03 13:58:01 +00:00
Chris Lattner
14d79d2e57
Finish the register info emitter
...
llvm-svn: 7506
2003-08-03 13:52:02 +00:00
Chris Lattner
aeeca2189c
Add new method
...
llvm-svn: 7502
2003-08-02 01:27:37 +00:00
Chris Lattner
8fb754a5b9
Move debug functionality to Debug.cpp/Debug.h
...
llvm-svn: 7494
2003-08-01 22:15:41 +00:00
Chris Lattner
f1afe32353
Describe the value name
...
llvm-svn: 7493
2003-08-01 22:15:15 +00:00
Chris Lattner
f0c6964470
DEBUG got moved to Debug.h
...
llvm-svn: 7491
2003-08-01 22:13:59 +00:00
Chris Lattner
802b0e2a6e
Check in the implementation of the FileUtilities!
...
llvm-svn: 7487
2003-08-01 21:16:14 +00:00
Chris Lattner
7700cb6cd2
Tablegen should only replace the output if it changes
...
llvm-svn: 7486
2003-08-01 20:35:01 +00:00
Chris Lattner
238ec53e70
Use the C++, more portable, deleter
...
llvm-svn: 7483
2003-08-01 20:29:18 +00:00
Chris Lattner
74fa70bc51
Make sure to delete the output file if there is an error
...
llvm-svn: 7481
2003-08-01 19:21:43 +00:00
Chris Lattner
958f47b9f7
Move #include from a header to here
...
llvm-svn: 7480
2003-08-01 19:16:29 +00:00
Chris Lattner
463b279aad
add support for emitting register classes
...
llvm-svn: 7473
2003-08-01 06:27:59 +00:00
Chris Lattner
a295902d00
Add new getValueAsListInit and getValueAsInt methods
...
llvm-svn: 7472
2003-08-01 06:15:10 +00:00
Chris Lattner
a22b48d2a3
Add the ability to emit register file enums
...
llvm-svn: 7471
2003-08-01 05:59:20 +00:00
Chris Lattner
cf268a5060
Fix the way field bit references are resolved, also allow resolution of field references overall!
...
llvm-svn: 7470
2003-08-01 05:58:58 +00:00
Chris Lattner
0ef2353b01
Dead code elimination
...
llvm-svn: 7468
2003-08-01 04:47:20 +00:00
Chris Lattner
2e69d4a1e8
Add new getValueAsBitsInit 'high-level' method
...
llvm-svn: 7467
2003-08-01 04:46:24 +00:00
Chris Lattner
1f2f5c8392
Add file comment
...
Add register info emitter
Simplify code by using "high-level" methods.
llvm-svn: 7466
2003-08-01 04:39:05 +00:00
Chris Lattner
8d99a76d55
Initial checkin of register info emitter
...
llvm-svn: 7465
2003-08-01 04:38:38 +00:00
Chris Lattner
ecca290a2a
Simplify code to match new interfaces
...
llvm-svn: 7464
2003-08-01 04:38:18 +00:00
Chris Lattner
330808bd91
Switch over to an exception handling model for "high-level" requests.
...
Add new getValueAsString method.
llvm-svn: 7463
2003-08-01 04:37:57 +00:00
Chris Lattner
fc6e266410
Minor cleanups
...
llvm-svn: 7462
2003-08-01 04:15:25 +00:00
Chris Lattner
f62c489e35
Factor code out into a new getAllDerivedDefinitions method, which is generally useful
...
llvm-svn: 7461
2003-08-01 04:09:58 +00:00
Chris Lattner
c4bbc7109d
Fix the JIT in the Nightly tester. This was not a fun bug to track down.
...
See the comments in the patch for details.
llvm-svn: 7457
2003-07-31 19:38:34 +00:00
Chris Lattner
eaee325932
Trivial cleanups: no need to include header twice. Global variable is local to file
...
llvm-svn: 7456
2003-07-31 19:31:21 +00:00
Chris Lattner
c69df616b8
More minor cleanups of the interface
...
llvm-svn: 7446
2003-07-31 04:43:49 +00:00
Chris Lattner
c5b306b4b9
Rename createEmitter to run because eventually all tablegen backends will
...
be subclasses of a common interface.
llvm-svn: 7445
2003-07-31 04:38:26 +00:00
Chris Lattner
4ee57983bd
Add file comment
...
llvm-svn: 7444
2003-07-31 04:37:57 +00:00
Chris Lattner
c33ca30544
Tighten up interface
...
llvm-svn: 7443
2003-07-31 04:32:37 +00:00
Chris Lattner
34d10a1aab
Add support for code fragments
...
llvm-svn: 7440
2003-07-30 22:15:58 +00:00
Chris Lattner
284136170e
Initial support for the 'code' type.
...
llvm-svn: 7439
2003-07-30 21:47:42 +00:00
Chris Lattner
06fd68f31d
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
b2b694bbef
Minor reorganization, move ParseFile to the lexer
...
llvm-svn: 7432
2003-07-30 19:55:10 +00:00
Chris Lattner
1bf13179c2
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
af282ae26e
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
2da046f055
Add support for "named positional arguments"
...
llvm-svn: 7421
2003-07-30 17:34:02 +00:00
Chris Lattner
1de61e04fb
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
03eeeb7e02
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
c9dee67ab6
Implement TODO: disallow 'def's with template arguments.
...
llvm-svn: 7409
2003-07-30 04:31:17 +00:00
Chris Lattner
1b145a54cb
Allow specification of anonymous definitions
...
llvm-svn: 7408
2003-07-30 04:26:44 +00:00
Chris Lattner
40004be9db
Allow passing lists through variables
...
llvm-svn: 7407
2003-07-30 04:16:52 +00:00
Chris Lattner
db68105987
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
590fd82e42
Don't crash if there is no Inst class in the tablegen file!
...
llvm-svn: 7402
2003-07-29 23:00:08 +00:00
Misha Brukman
3bb53319e8
The RTLD_GLOBAL flag allows symbols to be globally accessible, which makes
...
resolution of symbols in the .so possible (currently assists debugging with
bugpoint).
llvm-svn: 7366
2003-07-28 19:19:58 +00:00
Chris Lattner
8cdf385f8d
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
2c76692496
Allow initializing variable initializers with variables
...
llvm-svn: 7354
2003-07-28 03:39:57 +00:00
Brian Gaeke
b0078fabea
Include llvm/Support/Mangler.h first. Don't include <iostream>, <set>,
...
<string>, or llvm/Value.h. Move up the inclusion of llvm/Support/Mangler.h.
llvm-svn: 7321
2003-07-25 20:21:20 +00:00
Chris Lattner
5526a4468a
Use C++ headers, not C headers
...
llvm-svn: 7308
2003-07-25 17:32:51 +00:00
Brian Gaeke
356f3289fe
Cleanups:
...
Mangler.cpp: Constify parameter to makeNameProper, and use const_iterator.
Make Count an unsigned int, and use utostr().
Don't name parameters things that start with underscore.
Mangler.h: All of the above, and also: Add Emacs mode-line. Include <set>.
llvm-svn: 7301
2003-07-24 21:37:57 +00:00
Brian Gaeke
d4dff190a4
Factor out name-mangling from X86/Printer, which is derived from CWriter,
...
into this new support class.
llvm-svn: 7300
2003-07-24 20:20:58 +00:00
Chris Lattner
6077c3195f
Simplify code by using ConstantInt::getRawValue instead of checking to see
...
whether the constant is signed or unsigned, then casting
llvm-svn: 7252
2003-07-23 15:22:26 +00:00
Misha Brukman
ba943afa97
Added a DEBUG() guard to a debug information printout.
...
llvm-svn: 7203
2003-07-18 18:03:45 +00:00
Misha Brukman
c7efa119ac
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
1912eaf0a0
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
7fdaab4f68
The word `separate' only has one `e'.
...
llvm-svn: 7173
2003-07-14 17:20:40 +00:00
Misha Brukman
5258e59908
Fixed grammatical error.
...
llvm-svn: 7160
2003-07-10 21:38:28 +00:00
Misha Brukman
c18333ac0a
Lowercase versions of `occurrence' need to be spelled correctly, too.
...
llvm-svn: 7142
2003-07-10 17:05:26 +00:00
Misha Brukman
069e6b5be0
`Occurrence' has no `a' and the `r' is doubled.
...
llvm-svn: 7140
2003-07-10 16:49:51 +00:00
Misha Brukman
222639708e
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
3ef61afb76
Merged in autoconf branch. This provides configuration via the autoconf
...
system.
llvm-svn: 7014
2003-06-30 21:59:07 +00:00
Chris Lattner
719c715639
Add support for 'unsigned' command line arguments
...
llvm-svn: 6928
2003-06-28 15:47:20 +00:00
John Criswell
abebb9af11
Added code to the clean rule that deletes files placed in the source directory.
...
These files interfer with a second build attempt.
llvm-svn: 6927
2003-06-27 17:03:20 +00:00
Chris Lattner
0cfcaf0cc3
Remove usage of sys/unistd.h
...
llvm-svn: 6788
2003-06-19 18:42:09 +00:00
Brian Gaeke
ad3aabd47a
Put ifdefs around use of malloc.h/mallinfo, which isn't available on FreeBSD.
...
llvm-svn: 6750
2003-06-17 19:54:00 +00:00
Chris Lattner
0f55690855
Fix misspelling of ExtraSources, hopefully to unbreak the nightly tester
...
Remove evil rcs tag :)
llvm-svn: 6737
2003-06-17 14:30:21 +00:00
Chris Lattner
55491774bb
Actually, change it to use explicit new/delete, which is more likely to be
...
optimized INTO an alloca
llvm-svn: 6727
2003-06-16 22:29:09 +00:00
Chris Lattner
7bdbd91e92
Remove usage of alloca
...
llvm-svn: 6726
2003-06-16 22:22:11 +00:00
Brian Gaeke
7a719ed20c
Isolate machine-dependent use of <alloca.h> in "Support/Alloca.h",
...
so that we can easily change its use to be conditional on the result of
an autoconf test later.
llvm-svn: 6723
2003-06-16 21:54:01 +00:00
John Criswell
f3e7fedff3
Added assert.h so that it compiles under newer versions of GCC.
...
llvm-svn: 6683
2003-06-11 14:17:21 +00:00
John Criswell
be087cf11d
Updated to the new Makefile.common.
...
Modified the test rule so that it can be added to the regular test rule
(I believe the term is double dependency?).
llvm-svn: 6681
2003-06-11 13:57:48 +00:00
Chris Lattner
91ca134e26
Old versions of GCC doesn't have <ostream> :(
...
llvm-svn: 6661
2003-06-06 23:06:20 +00:00
Chris Lattner
235b91e2ea
Fix compilation problem with some versions of G++
...
llvm-svn: 6660
2003-06-06 22:13:01 +00:00
Chris Lattner
efadd781f4
Fix problem with perror
...
llvm-svn: 6659
2003-06-06 21:09:29 +00:00
Misha Brukman
72d7da0397
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
1cca1c68e1
* 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
1580a96e2a
Spiff up options a bit
...
llvm-svn: 6573
2003-06-03 05:07:28 +00:00
Chris Lattner
5ef4cf863b
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
6dc6f066bc
Make tablegen use more structured command line options
...
llvm-svn: 6570
2003-06-03 04:56:29 +00:00
Misha Brukman
7e66953f17
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
027b3d899f
getValueOp() now takes a MachineInstr as well as a MachineOperand.
...
llvm-svn: 6450
2003-05-30 20:32:01 +00:00
Misha Brukman
71b9de7789
Output the opcode name of the instruction being emitted to cerr.
...
llvm-svn: 6386
2003-05-28 18:29:10 +00:00
Misha Brukman
bf453de096
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
9deee31239
* 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