Chris Lattner
e88b8e3471
Make alignment be in bits, just like size is
...
llvm-svn: 15969
2004-08-21 20:00:36 +00:00
Chris Lattner
d4ec8aeb62
Infer the spillsize/alignment of a register based on the register classes
...
it is embedded into.
llvm-svn: 15966
2004-08-21 19:42:03 +00:00
Chris Lattner
75ca702833
Support "Methods" in register classes in CodgeGenRegisterClass
...
llvm-svn: 15965
2004-08-21 19:21:21 +00:00
Chris Lattner
c33c1c8dca
Start parsing register classes into a more structured form
...
llvm-svn: 15961
2004-08-21 04:05:00 +00:00
Chris Lattner
820f674293
Read in declared reg sizes
...
llvm-svn: 15960
2004-08-21 02:24:57 +00:00
Chris Lattner
89ebd84bc2
Do not #include files into the llvm namespace
...
llvm-svn: 15849
2004-08-17 03:08:28 +00:00
Chris Lattner
892fc12546
Use CodeGenRegister class to make reading in of register information more
...
systematic.
llvm-svn: 15805
2004-08-16 01:10:21 +00:00
Chris Lattner
c07542698b
Add initial support for register and register class representation.
...
Obviously this is not done.
llvm-svn: 15804
2004-08-16 01:09:52 +00:00
Chris Lattner
7a514bf631
Remove awareness of isDummyClass
...
llvm-svn: 15789
2004-08-15 23:04:13 +00:00
Chris Lattner
d7240cdb18
Make the AsmWriter a first-class tblgen object. Allow targets to specify
...
name of the generated asmwriter class, and the name of the format string.
llvm-svn: 15747
2004-08-14 22:50:53 +00:00
Chris Lattner
a86411806a
Fix minor bug in previous checkin
...
llvm-svn: 15649
2004-08-11 04:08:36 +00:00
Chris Lattner
0f301f495b
change how we invoke the printer. Instead of passing in the MO directly,
...
pass in the MI, operand number, and the type of the operand.
llvm-svn: 15645
2004-08-11 02:23:23 +00:00
Chris Lattner
a88aec6972
Start parsing more information from the Operand information
...
llvm-svn: 15644
2004-08-11 02:22:39 +00:00
Chris Lattner
c8ac0bf803
Remove special case hacks
...
llvm-svn: 15643
2004-08-11 01:53:58 +00:00
Misha Brukman
1087080432
Deleted commented-out code as we now get namespace directly, add comments
...
llvm-svn: 15627
2004-08-10 20:54:58 +00:00
Misha Brukman
1aa8b19a07
Use the target name instead of hard-coding SparcV9.
...
llvm-svn: 15616
2004-08-10 18:31:01 +00:00
Chris Lattner
660bc91ec4
This was a good idea, but until this does not break the build of
...
lib/Target/Sparc, we should not use it.
llvm-svn: 15603
2004-08-10 15:05:18 +00:00
Misha Brukman
7a352cede0
Use the current target name instead of a ClassPrefix.
...
llvm-svn: 15585
2004-08-09 19:10:43 +00:00
Misha Brukman
ad01c0dbae
* Use Classname and ClassPrefix instead of hard-coded V9 values
...
* Simplify code and shorten lines by not recomputing values
llvm-svn: 15582
2004-08-09 17:47:45 +00:00
Misha Brukman
3a15182b6c
* Added documentation in the file header
...
* Shorten assert() text to make it fit within 80 cols
llvm-svn: 15508
2004-08-04 22:07:54 +00:00
Chris Lattner
d308e8dbd8
Be picky
...
llvm-svn: 15400
2004-08-01 08:55:34 +00:00
Chris Lattner
ae25608f8b
Instructions no longer need to have names.
...
llvm-svn: 15399
2004-08-01 08:38:17 +00:00
Chris Lattner
0dd4abcce9
Add support for asm printing machine instructions that have operands.
...
llvm-svn: 15391
2004-08-01 07:43:02 +00:00
Chris Lattner
350b76be29
Parse the operand list of the instruction. We currently support register and immediate operands.
...
llvm-svn: 15390
2004-08-01 07:42:39 +00:00
Chris Lattner
a983ac4661
Initial cut at an asm writer emitter. So far, this only handles emission of
...
instructions, and only instructions that take no operands at that!
llvm-svn: 15386
2004-08-01 05:59:33 +00:00
Chris Lattner
09d6e317a8
Add, and start using, the CodeGenInstruction class. This class represents
...
an instance of the Instruction tablegen class.
llvm-svn: 15385
2004-08-01 05:04:00 +00:00
Chris Lattner
07525455a6
Rename CodeGenWrappers.(cpp|h) -> CodeGenTarget.(cpp|h)
...
llvm-svn: 15382
2004-08-01 04:04:35 +00:00
Chris Lattner
2e8beb316b
Finegrainify namespacification
...
llvm-svn: 15381
2004-08-01 03:55:39 +00:00
Chris Lattner
5c5c16ec21
Support new flag
...
llvm-svn: 15355
2004-07-31 02:07:26 +00:00
Chris Lattner
33187c4026
Implement test/Regression/TableGen/ListSlices.td
...
llvm-svn: 15249
2004-07-27 01:01:21 +00:00
Chris Lattner
8dcbaf2f98
Add initial support for list slices. This currently allows you to do stuff
...
like this:
def B {
list<int> X = [10, 20, 30, 4, 1, 1231, 20] [2-4,2,2,0-6];
}
... which isn't particularly useful, but more is to come.
llvm-svn: 15247
2004-07-26 23:21:34 +00:00
Chris Lattner
1e21b8c96f
Remove some abandoned code that was never finished. If needed in the future
...
it can be ressurected from CVS.
llvm-svn: 15113
2004-07-22 21:32:38 +00:00
Chris Lattner
ae91cc3002
Passing integer 0 in for a pointer value doesn't work on IA64. Fix this
...
by using a new macro.
llvm-svn: 14863
2004-07-16 00:02:21 +00:00
Chris Lattner
817b562565
Make tblgen not try to be smart. This is better handled in makefiles if
...
at all. Patch contributed by Vladimir Prus!
llvm-svn: 14784
2004-07-13 06:11:46 +00:00
Misha Brukman
095db9590a
Handle shifts >= 32 bits.
...
llvm-svn: 14291
2004-06-21 18:01:47 +00:00
Chris Lattner
cc465361d9
Move the IntrinsicLowering header into the CodeGen directory, as per PR346
...
llvm-svn: 14266
2004-06-20 07:49:54 +00:00
Misha Brukman
8495487d8e
Make header comment fit within 80 cols.
...
llvm-svn: 14198
2004-06-17 15:49:36 +00:00
Misha Brukman
fffcf9c9fb
Emit a more sensible error message if no subclasses of Target are defined.
...
Patch contributed by Vladimir Prus.
llvm-svn: 14010
2004-06-04 14:59:42 +00:00
Chris Lattner
023eb7484f
Add support for dos style files.
...
llvm-svn: 13836
2004-05-27 17:44:18 +00:00
Chris Lattner
6f0bab5b9d
Header file moved
...
llvm-svn: 13813
2004-05-27 05:41:36 +00:00
Misha Brukman
be6fcab94d
The "best" of both worlds: readable C++ comments and valid HTML For doxygen.
...
llvm-svn: 12964
2004-04-15 15:30:15 +00:00
Jakub Staszak
3c2d9c95e2
Tablegen backend for really simple instruction selector
...
llvm-svn: 12713
2004-04-06 19:31:31 +00:00
Jakub Staszak
6cb338c254
add tablgen backend for really simple instruction selector
...
llvm-svn: 12712
2004-04-06 19:30:56 +00:00
Chris Lattner
9f35c413f5
Do not remove an active template argument even if the superclass had one of the
...
same name
llvm-svn: 11950
2004-02-28 17:41:48 +00:00
Chris Lattner
7d89f8837d
Ignore X = X assignments that was causing Alkis's rewrite of X86.td to crash
...
tblgen.
llvm-svn: 11948
2004-02-28 17:31:28 +00:00
Chris Lattner
07aebf1c49
Assert instead of going into an infinite loop!
...
llvm-svn: 11946
2004-02-28 16:31:53 +00:00
Chris Lattner
bdd49e8f4d
exit(1) instead of abort()'ing on error
...
llvm-svn: 11380
2004-02-13 16:37:43 +00:00
Chris Lattner
92da902d40
Fix buggy error message problem
...
llvm-svn: 11379
2004-02-13 16:33:56 +00:00
Misha Brukman
fcab5cd5b0
Ooops, top-level C++-comments aren't recognized by flex.
...
llvm-svn: 11337
2004-02-12 00:03:08 +00:00
Misha Brukman
63ba2d3f4d
* Convert C comments to C++ style (why are some one way, some another?!)
...
* Delete extra space, extra blank comment lines
* Convert function comments to doxygen
llvm-svn: 11336
2004-02-12 00:00:46 +00:00
Chris Lattner
1ad572ef72
Print the record NAME not the record ADDRESS
...
llvm-svn: 11144
2004-02-06 03:19:17 +00:00
Brian Gaeke
dc5961acc0
Fix a couple of places I noticed where "X86" was hard-coded.
...
llvm-svn: 10974
2004-01-24 09:23:46 +00:00
Chris Lattner
92ff4ee65b
Stop laughing Misha
...
llvm-svn: 10393
2003-12-11 00:58:34 +00:00
Brian Gaeke
d25f86d683
Put all LLVM code into the llvm namespace, as per bug 109.
...
llvm-svn: 9903
2003-11-11 22:41:34 +00:00
John Criswell
4746befea3
Added LLVM copyright notice.
...
llvm-svn: 9324
2003-10-21 15:29:18 +00:00
John Criswell
a8dfda0513
Added LLVM copyright to Makefiles.
...
llvm-svn: 9314
2003-10-20 22:29:16 +00:00
John Criswell
fc62e0f40d
Added LLVM copyright header.
...
llvm-svn: 9305
2003-10-20 20:20:30 +00:00
John Criswell
c373496a63
Removed the .PRECIOUS of Lex and Yacc output files.
...
They are already marked precious in llvm/Makefile.rules, and removing
this line seems to fix the Makefile so that the Yacc output is placed
into the object tree and not the source tree.
llvm-svn: 9179
2003-10-16 20:38:16 +00:00
Chris Lattner
b6c8569f05
Regularize header file comments
...
llvm-svn: 9071
2003-10-13 03:32:08 +00:00
Brian Gaeke
2f888cb5b5
This seems to work around some unobvious bug in gcc on sparc which was
...
causing the build of lib/Target/X86 to fail.
llvm-svn: 9042
2003-10-10 21:55:29 +00:00
Alkis Evlogimenos
74568bc9d4
Change MRegisterDesc::AliasSet, TargetInstrDescriptor::ImplicitDefs
...
and TargetInstrDescriptor::ImplicitUses to always point to a null
terminated array and never be null. So there is no need to check for
pointer validity when iterating over those sets. Code that looked
like:
if (const unsigned* AS = TID.ImplicitDefs) {
for (int i = 0; AS[i]; ++i) {
// use AS[i]
}
}
was changed to:
for (const unsigned* AS = TID.ImplicitDefs; *AS; ++AS) {
// use *AS
}
llvm-svn: 8960
2003-10-08 05:20:08 +00:00
Chris Lattner
1e1215d0d7
Move support/tools/* back into utils
...
llvm-svn: 8875
2003-10-05 19:27:59 +00:00