Chris Lattner
056afeface
Start parsing register classes into a more structured form
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15961 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-21 04:05:00 +00:00
Chris Lattner
7a680c6064
Read in declared reg sizes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15960 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-21 02:24:57 +00:00
Chris Lattner
2c38413b3f
Do not #include files into the llvm namespace
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15849 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 03:08:28 +00:00
Chris Lattner
2669311320
Use CodeGenRegister class to make reading in of register information more
...
systematic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15805 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 01:10:21 +00:00
Chris Lattner
8dab6ca9c6
Add initial support for register and register class representation.
...
Obviously this is not done.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15804 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 01:09:52 +00:00
Chris Lattner
59b92cec35
Remove awareness of isDummyClass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15789 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-15 23:04:13 +00:00
Chris Lattner
175580c0f3
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15747 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-14 22:50:53 +00:00
Chris Lattner
9302ba416b
Fix minor bug in previous checkin
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15649 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-11 04:08:36 +00:00
Chris Lattner
1caef2c0a9
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15645 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-11 02:23:23 +00:00
Chris Lattner
cf03da0ce9
Start parsing more information from the Operand information
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15644 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-11 02:22:39 +00:00
Chris Lattner
552a8428fa
Remove special case hacks
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15643 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-11 01:53:58 +00:00
Misha Brukman
ad346ad170
Deleted commented-out code as we now get namespace directly, add comments
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15627 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-10 20:54:58 +00:00
Misha Brukman
e2ba7787ba
Use the target name instead of hard-coding SparcV9.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15616 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-10 18:31:01 +00:00
Chris Lattner
2b27b88716
This was a good idea, but until this does not break the build of
...
lib/Target/Sparc, we should not use it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15603 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-10 15:05:18 +00:00
Misha Brukman
d7a5b2826c
Use the current target name instead of a ClassPrefix.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15585 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-09 19:10:43 +00:00
Misha Brukman
eb178c146a
* Use Classname and ClassPrefix instead of hard-coded V9 values
...
* Simplify code and shorten lines by not recomputing values
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15582 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-09 17:47:45 +00:00
Misha Brukman
4e4f8631f6
* Added documentation in the file header
...
* Shorten assert() text to make it fit within 80 cols
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15508 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 22:07:54 +00:00
Chris Lattner
c3d5f3e12a
Be picky
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15400 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-01 08:55:34 +00:00
Chris Lattner
2d12b2cf75
Instructions no longer need to have names.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15399 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-01 08:38:17 +00:00
Chris Lattner
076efa771a
Add support for asm printing machine instructions that have operands.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15391 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-01 07:43:02 +00:00
Chris Lattner
87c5905e0b
Parse the operand list of the instruction. We currently support register and immediate operands.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15390 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-01 07:42:39 +00:00
Chris Lattner
2e1f51b8a5
Initial cut at an asm writer emitter. So far, this only handles emission of
...
instructions, and only instructions that take no operands at that!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15386 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-01 05:59:33 +00:00
Chris Lattner
ec3524064c
Add, and start using, the CodeGenInstruction class. This class represents
...
an instance of the Instruction tablegen class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15385 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-01 05:04:00 +00:00
Chris Lattner
803a5f6ecb
Rename CodeGenWrappers.(cpp|h) -> CodeGenTarget.(cpp|h)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15382 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-01 04:04:35 +00:00
Chris Lattner
2082ebe8b3
Finegrainify namespacification
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15381 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-01 03:55:39 +00:00
Chris Lattner
58505994cf
Support new flag
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15355 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-31 02:07:26 +00:00
Chris Lattner
1dba7abdd7
Implement test/Regression/TableGen/ListSlices.td
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15249 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-27 01:01:21 +00:00
Chris Lattner
b0fef64dc9
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15247 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-26 23:21:34 +00:00
Chris Lattner
9879aa9c95
Remove some abandoned code that was never finished. If needed in the future
...
it can be ressurected from CVS.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15113 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-22 21:32:38 +00:00
Chris Lattner
bd935336d4
Passing integer 0 in for a pointer value doesn't work on IA64. Fix this
...
by using a new macro.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14863 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-16 00:02:21 +00:00
Chris Lattner
42df6d1396
Make tblgen not try to be smart. This is better handled in makefiles if
...
at all. Patch contributed by Vladimir Prus!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14784 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-13 06:11:46 +00:00
Misha Brukman
294984cecb
Handle shifts >= 32 bits.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14291 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-21 18:01:47 +00:00
Chris Lattner
3048373748
Move the IntrinsicLowering header into the CodeGen directory, as per PR346
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14266 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-20 07:49:54 +00:00
Misha Brukman
0603079719
Make header comment fit within 80 cols.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14198 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-17 15:49:36 +00:00
Misha Brukman
bebdb204d2
Emit a more sensible error message if no subclasses of Target are defined.
...
Patch contributed by Vladimir Prus.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14010 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-04 14:59:42 +00:00
Chris Lattner
36c5757abf
Add support for dos style files.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13836 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-27 17:44:18 +00:00
Chris Lattner
bed85ff010
Header file moved
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13813 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-27 05:41:36 +00:00
Misha Brukman
234b3ec879
The "best" of both worlds: readable C++ comments and valid HTML For doxygen.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12964 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-15 15:30:15 +00:00
Jakub Staszak
88ac78c4d9
Tablegen backend for really simple instruction selector
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12713 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-06 19:31:31 +00:00
Jakub Staszak
01b6a6f279
add tablgen backend for really simple instruction selector
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12712 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-06 19:30:56 +00:00
Chris Lattner
8a4045e4d7
Do not remove an active template argument even if the superclass had one of the
...
same name
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11950 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-28 17:41:48 +00:00
Chris Lattner
81d50adfaf
Ignore X = X assignments that was causing Alkis's rewrite of X86.td to crash
...
tblgen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11948 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-28 17:31:28 +00:00
Chris Lattner
ff367ee1c5
Assert instead of going into an infinite loop!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11946 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-28 16:31:53 +00:00
Chris Lattner
f5761a5e68
exit(1) instead of abort()'ing on error
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11380 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-13 16:37:43 +00:00
Chris Lattner
83fe91797a
Fix buggy error message problem
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11379 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-13 16:33:56 +00:00
Misha Brukman
f2f5b3950e
Ooops, top-level C++-comments aren't recognized by flex.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11337 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-12 00:03:08 +00:00
Misha Brukman
1700f776ff
* 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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11336 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-12 00:00:46 +00:00
Chris Lattner
7b9ee51a55
Print the record NAME not the record ADDRESS
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11144 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-06 03:19:17 +00:00
Brian Gaeke
48e9f26df5
Fix a couple of places I noticed where "X86" was hard-coded.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10974 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-24 09:23:46 +00:00
Chris Lattner
7538469204
Stop laughing Misha
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10393 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-11 00:58:34 +00:00
Brian Gaeke
d0fde30ce8
Put all LLVM code into the llvm namespace, as per bug 109.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-11 22:41:34 +00:00
John Criswell
aefb666d07
Added LLVM copyright notice.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9324 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-21 15:29:18 +00:00
John Criswell
e2fab734ad
Added LLVM copyright to Makefiles.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9314 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20 22:29:16 +00:00
John Criswell
01d45827a1
Added LLVM copyright header.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9305 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20 20:20:30 +00:00
John Criswell
11b2dbd5f8
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9179 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-16 20:38:16 +00:00
Chris Lattner
cf3056db0f
Regularize header file comments
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9071 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-13 03:32:08 +00:00
Brian Gaeke
be7f4afe47
This seems to work around some unobvious bug in gcc on sparc which was
...
causing the build of lib/Target/X86 to fail.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9042 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-10 21:55:29 +00:00
Alkis Evlogimenos
73ff5120eb
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
}
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8960 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-08 05:20:08 +00:00
Chris Lattner
0a92ebf557
Move support/tools/* back into utils
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8875 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-05 19:27:59 +00:00
John Criswell
788816f021
Updated Makefiles to reflect new location in llvm/support/tools.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8731 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-29 14:48:29 +00:00
Chris Lattner
8bab27d282
Squelch warning
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8658 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-22 20:27:10 +00:00
Misha Brukman
0bb806bd9a
Do not put DEBUG() guard around error condition; this must *always* be printed.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8583 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-17 18:21:48 +00:00
John Criswell
2d930034f4
Modified the code so that we exit() with a non-zero value instead of calling
...
abort() when we can't open the input filename. The abort() function generates
a core dump if possible and is meant for handling errors so grand that even the
program knows that debugging is necessary.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8415 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-09 14:37:48 +00:00
Misha Brukman
737af827e8
Fixed spelling of `intentionally'.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8387 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-07 20:12:52 +00:00
Chris Lattner
6cb0f4d774
Remove unneeded #include
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8386 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-07 05:09:32 +00:00
John Criswell
96b4beda5c
Added an option to TableGen that allows users to specify a directory in which
...
to find include files. TableGen will load include files from this directory if
it cannot find them in the current directory.
This feature was needed for building code inside the object tree (a la autoconf
style).
TODO: Allow for multiple -I options to specify a list of directories to search.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8159 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-27 13:41:57 +00:00
Chris Lattner
a83de0bf77
Fix warning on sparc build
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8006 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-21 15:59:16 +00:00
John Criswell
43bf32e86c
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7996 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-20 22:07:45 +00:00
Misha Brukman
86f665b431
X86.td has been moved out of this directory; these are outdated targets.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7971 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-19 16:11:38 +00:00
Misha Brukman
5560c9d49c
Spell `necessary' correctly.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7944 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-18 14:43:39 +00:00
Chris Lattner
c7df109b6c
Ignore dummy register classes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7871 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-15 04:36:19 +00:00
Chris Lattner
673537e5c0
Add support for nodes with void arguments, like chain nodes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7869 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-15 04:28:04 +00:00
Misha Brukman
c3fe45b2f5
Using std::remove' requires
cstdio.h'.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7843 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-14 16:05:35 +00:00
Misha Brukman
6ad9076554
Using std::string requires `#include <string>', says gcc-2.95.3.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7833 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-13 22:27:15 +00:00
Chris Lattner
42f3372742
Fix emission of instructions that directly reference MBBs
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7771 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-12 05:19:49 +00:00
Chris Lattner
6b666e8afe
Add support for the Any type. Minor fixes and enhancements for BasicBlock operands
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7769 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-12 04:56:42 +00:00
Chris Lattner
c12a61463a
Rename DNVT_bool to DNVT_i1 to be consistent with type system
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7768 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-12 04:28:21 +00:00
Chris Lattner
723915b13e
Add support for a bool argty
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7766 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-12 04:12:42 +00:00
Chris Lattner
7b56ce409f
It is not an error if a rule does not match, it's just a failed match!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7761 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11 22:30:51 +00:00
Chris Lattner
abb215e588
Add support for frameidx and literal immediates for instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7749 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11 21:28:59 +00:00
Chris Lattner
57fb6ab871
Add support for naming the destination of a "set" in a pattern
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7748 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11 20:32:02 +00:00
Chris Lattner
88118bf787
Add support for the Arg1 argument type
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7747 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11 20:25:52 +00:00
Chris Lattner
3eda2eb23e
Don't forget to initializer result field to 0!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7729 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11 15:47:35 +00:00
Misha Brukman
91f2e9aa08
Put printouts of acquired patterns under the DEBUG() guard, fixed spelling.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7723 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11 15:16:12 +00:00
Chris Lattner
053a205d63
Add full support for code generating expanders!
...
This includes support for referencing named arguments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7715 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-10 23:51:52 +00:00
Chris Lattner
990db46e9a
Implement autopromotion of leaf trees from arguments to nodes of their own,
...
making it easier to write patterns without lots of extraneous parens
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7714 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-10 22:38:36 +00:00
Chris Lattner
91290d7e9a
Implement correct parsing, representation, and printing of DAG argument names
...
Implements testcase TableGen/TreeNames.td
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7713 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-10 22:14:13 +00:00
Chris Lattner
fb9ea58eb1
Recognize $foo as a variable
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7712 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-10 22:04:25 +00:00
Chris Lattner
094ec50a28
Implement real code emission, at least for Instruction patterns,
...
next up: support for expanders
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7710 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-10 21:54:43 +00:00
Chris Lattner
616700402a
First cut at emitting the reducer. This reducer just prints out the patterns
...
selected, but it seems to work great!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7709 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-10 20:34:13 +00:00
Chris Lattner
9552b8c159
Finish the matcher!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7707 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-10 19:50:51 +00:00
Chris Lattner
b72fb7ef75
Add new function
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7706 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-10 19:50:32 +00:00
Chris Lattner
955c1be529
This implements a large amount of the matcher, in fact, all of it except for one bug
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7702 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-08 22:29:23 +00:00
Chris Lattner
6dafd3921d
Emit the first half of the instruction selector.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7701 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-08 16:30:10 +00:00
Chris Lattner
ef0ce6a494
Finish implementation of nonterminal instantiation.
...
Tree patterns are now, finally, ready to use!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7699 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 23:16:20 +00:00
Chris Lattner
d3464c19a8
Add new method to get a value type as a string
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7698 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 23:15:21 +00:00
Chris Lattner
5709e512b1
Implement type-inference/checking for non-terminal references
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7686 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 21:02:56 +00:00
Chris Lattner
ee858d2a83
Rename all of the "Process" methods to be "read" methods, start the Instantiate method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7685 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 20:42:23 +00:00
Chris Lattner
90825b4b4b
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)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7684 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 19:59:42 +00:00
Chris Lattner
ab05e2aa4c
Use the new version of isSubClassOf
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7683 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 19:42:14 +00:00