Commit Graph

320 Commits

Author SHA1 Message Date
Chris Lattner 9b0dfa3c0d Turn the hasDelaySlot flag into the M_DELAY_SLOT_FLAG
llvm-svn: 16553
2004-09-28 18:38:01 +00:00
Chris Lattner e8e81a2941 Revamp the Register class, and allow the use of the RegisterGroup class to
specify aliases directly in register definitions.

Patch contributed by Jason Eckhardt!

llvm-svn: 16330
2004-09-14 04:17:02 +00:00
Reid Spencer 0ded30aec4 Clean up some "clean:" targets so they use $(VERB) and don't print anything
by default, like every other "clean" target in LLVM.

llvm-svn: 16161
2004-09-03 23:19:53 +00:00
Reid Spencer c8ec13388b Make tblgen's exception handling a little more robust by printing the
program name and also catching ...

llvm-svn: 16160
2004-09-03 23:17:54 +00:00
Reid Spencer 7c16caa336 Changes For Bug 352
Move include/Config and include/Support into include/llvm/Config,
include/llvm/ADT and include/llvm/Support. From here on out, all LLVM
public header files must be under include/llvm/.

llvm-svn: 16137
2004-09-01 22:55:40 +00:00
Reid Spencer 811c3c0edb Link with LLVMsystem.a for operating system independence.
llvm-svn: 16094
2004-08-29 19:31:19 +00:00
Reid Spencer 9b129bea2e RemoveFileOnErrorSignal is now in the llvm::sys namespace. Adjust
accordingly.

llvm-svn: 16093
2004-08-29 19:30:41 +00:00
Chris Lattner 8eab62ee0d Alignment is now in bits.
llvm-svn: 15976
2004-08-21 20:15:25 +00:00
Chris Lattner beadefde19 Make alignment be in bits, just like size is
llvm-svn: 15969
2004-08-21 20:00:36 +00:00
Chris Lattner a6d34d9e19 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 d3244d9cec Support "Methods" in register classes in CodgeGenRegisterClass
llvm-svn: 15965
2004-08-21 19:21:21 +00:00
Chris Lattner 2a86fab933 Start parsing register classes into a more structured form
llvm-svn: 15961
2004-08-21 04:05:00 +00:00
Chris Lattner e34ae99942 Read in declared reg sizes
llvm-svn: 15960
2004-08-21 02:24:57 +00:00
Chris Lattner c9d99efdd3 Do not #include files into the llvm namespace
llvm-svn: 15849
2004-08-17 03:08:28 +00:00
Chris Lattner 8af61ddb96 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 b7b70480e1 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 0bbf7005f5 Remove awareness of isDummyClass
llvm-svn: 15789
2004-08-15 23:04:13 +00:00
Chris Lattner 6ffa501d9f 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 baa2ecb798 Fix minor bug in previous checkin
llvm-svn: 15649
2004-08-11 04:08:36 +00:00
Chris Lattner c1904dd38f 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 3bc477a237 Start parsing more information from the Operand information
llvm-svn: 15644
2004-08-11 02:22:39 +00:00
Chris Lattner 101f3fea82 Remove special case hacks
llvm-svn: 15643
2004-08-11 01:53:58 +00:00
Misha Brukman 422d0fadf1 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 59978333a3 Use the target name instead of hard-coding SparcV9.
llvm-svn: 15616
2004-08-10 18:31:01 +00:00
Chris Lattner 79db057a3b 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 920ae9524d Use the current target name instead of a ClassPrefix.
llvm-svn: 15585
2004-08-09 19:10:43 +00:00
Misha Brukman 18d27dc342 * 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 8e5492e350 * 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 f40e4ebf19 Be picky
llvm-svn: 15400
2004-08-01 08:55:34 +00:00
Chris Lattner 29d8ac77e1 Instructions no longer need to have names.
llvm-svn: 15399
2004-08-01 08:38:17 +00:00
Chris Lattner 65512a0c49 Add support for asm printing machine instructions that have operands.
llvm-svn: 15391
2004-08-01 07:43:02 +00:00
Chris Lattner 5572682faa 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 1c4ae85035 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 c860ecafe1 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 fce9603387 Rename CodeGenWrappers.(cpp|h) -> CodeGenTarget.(cpp|h)
llvm-svn: 15382
2004-08-01 04:04:35 +00:00
Chris Lattner 6847866400 Finegrainify namespacification
llvm-svn: 15381
2004-08-01 03:55:39 +00:00
Chris Lattner fd4558862c Support new flag
llvm-svn: 15355
2004-07-31 02:07:26 +00:00
Chris Lattner 577fc3f576 Implement test/Regression/TableGen/ListSlices.td
llvm-svn: 15249
2004-07-27 01:01:21 +00:00
Chris Lattner 8bf9e06ddd 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 87bf918bc0 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 89ae115aa5 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 8e30a4dfc5 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 6752fb58b6 Handle shifts >= 32 bits.
llvm-svn: 14291
2004-06-21 18:01:47 +00:00
Chris Lattner bcdadf3765 Move the IntrinsicLowering header into the CodeGen directory, as per PR346
llvm-svn: 14266
2004-06-20 07:49:54 +00:00
Misha Brukman b8561ebf21 Make header comment fit within 80 cols.
llvm-svn: 14198
2004-06-17 15:49:36 +00:00
Misha Brukman aff10d0461 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 1f4e545a89 Add support for dos style files.
llvm-svn: 13836
2004-05-27 17:44:18 +00:00
Chris Lattner 278f5152d3 Header file moved
llvm-svn: 13813
2004-05-27 05:41:36 +00:00
Misha Brukman b4f20ea496 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 68a9025f50 Tablegen backend for really simple instruction selector
llvm-svn: 12713
2004-04-06 19:31:31 +00:00
Jakub Staszak f9bfc7f927 add tablgen backend for really simple instruction selector
llvm-svn: 12712
2004-04-06 19:30:56 +00:00
Chris Lattner 36326de312 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 994f2d1406 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 d959ab9208 Assert instead of going into an infinite loop!
llvm-svn: 11946
2004-02-28 16:31:53 +00:00
Chris Lattner 564251ed5e exit(1) instead of abort()'ing on error
llvm-svn: 11380
2004-02-13 16:37:43 +00:00
Chris Lattner a80e9f0a19 Fix buggy error message problem
llvm-svn: 11379
2004-02-13 16:33:56 +00:00
Misha Brukman e10e2b12dd Ooops, top-level C++-comments aren't recognized by flex.
llvm-svn: 11337
2004-02-12 00:03:08 +00:00
Misha Brukman a01b30bbaa * 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 e6540165b3 Print the record NAME not the record ADDRESS
llvm-svn: 11144
2004-02-06 03:19:17 +00:00
Brian Gaeke 666aaf715f 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 95c13c92ff Stop laughing Misha
llvm-svn: 10393
2003-12-11 00:58:34 +00:00
Brian Gaeke 960707c335 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 9583cfafc5 Added LLVM copyright notice.
llvm-svn: 9324
2003-10-21 15:29:18 +00:00
John Criswell abe5cdcf21 Added LLVM copyright to Makefiles.
llvm-svn: 9314
2003-10-20 22:29:16 +00:00
John Criswell d3032037f1 Added LLVM copyright header.
llvm-svn: 9305
2003-10-20 20:20:30 +00:00
John Criswell 38a47ab007 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 44d2c3514a Regularize header file comments
llvm-svn: 9071
2003-10-13 03:32:08 +00:00
Brian Gaeke 969378468e 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 5f1f337d95 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 f5bd1b7a8e Move support/tools/* back into utils
llvm-svn: 8875
2003-10-05 19:27:59 +00:00