Jeff Cohen
00b16889ab
Eliminate all remaining tabs and trailing spaces.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22523 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-27 06:12:32 +00:00
Chris Lattner
3e3def9c19
Fix PR595: These error messages should not be looking at CGI.Name, they
...
should be looking at CGI.TheDef->getName().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22445 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-15 22:43:04 +00:00
Nate Begeman
afc545616a
Add support for a TODO; instructions in .td files can now have arguments
...
printed as part of the opcode. This allows something like
cmp${cc}ss in the x86 backed to be printed as cmpltss, cmpless, etc.
depending on what the value of $cc is.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22439 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-14 22:50:30 +00:00
Jeff Cohen
ea3e5e56fd
Eliminate tabs and trailing spaces
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21441 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-22 04:13:13 +00:00
Misha Brukman
3da94aec4d
Remove trailing whitespace
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21428 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-22 00:00:37 +00:00
Chris Lattner
a6dcd0ef73
ignore generated files
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21362 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-19 15:34:36 +00:00
Chris Lattner
6e19b5b792
fix bogus warning
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21361 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-19 15:32:30 +00:00
Chris Lattner
7dda395004
Major change to tblgen: instead of resolving values every time a class is
...
finished up, only resolve fully when the def is defined. This allows things
to be changed and all uses to be propagated through. This implements
TableGen/LazyChange.td and fixes TemplateArgRename.td in the process.
None of the .td files used in LLVM backends are changed at all by this
patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21344 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-19 03:36:21 +00:00
Chris Lattner
577057faaa
implementing shifting of literal integers
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21336 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-19 01:17:35 +00:00
Chris Lattner
b9266f880a
Add initial lexer and parser support for shifting values. Every use of this
...
will lead to it being rejected though.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21335 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-19 01:11:03 +00:00
Chris Lattner
131ca38c60
Minor fix.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19761 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-22 20:59:38 +00:00
Chris Lattner
38c0751a12
This is the final big of factoring. This shares cases in suboperand
...
differences, which means that identical instructions (after stripping off
the first literal string) do not run any different code at all. On the X86,
this turns this code:
switch (MI->getOpcode()) {
case X86::ADC32mi: printOperand(MI, 4, MVT::i32); break;
case X86::ADC32mi8: printOperand(MI, 4, MVT::i8); break;
case X86::ADC32mr: printOperand(MI, 4, MVT::i32); break;
case X86::ADD32mi: printOperand(MI, 4, MVT::i32); break;
case X86::ADD32mi8: printOperand(MI, 4, MVT::i8); break;
case X86::ADD32mr: printOperand(MI, 4, MVT::i32); break;
case X86::AND32mi: printOperand(MI, 4, MVT::i32); break;
case X86::AND32mi8: printOperand(MI, 4, MVT::i8); break;
case X86::AND32mr: printOperand(MI, 4, MVT::i32); break;
case X86::CMP32mi: printOperand(MI, 4, MVT::i32); break;
case X86::CMP32mr: printOperand(MI, 4, MVT::i32); break;
case X86::MOV32mi: printOperand(MI, 4, MVT::i32); break;
case X86::MOV32mr: printOperand(MI, 4, MVT::i32); break;
case X86::OR32mi: printOperand(MI, 4, MVT::i32); break;
case X86::OR32mi8: printOperand(MI, 4, MVT::i8); break;
case X86::OR32mr: printOperand(MI, 4, MVT::i32); break;
case X86::ROL32mi: printOperand(MI, 4, MVT::i8); break;
case X86::ROR32mi: printOperand(MI, 4, MVT::i8); break;
case X86::SAR32mi: printOperand(MI, 4, MVT::i8); break;
case X86::SBB32mi: printOperand(MI, 4, MVT::i32); break;
case X86::SBB32mi8: printOperand(MI, 4, MVT::i8); break;
case X86::SBB32mr: printOperand(MI, 4, MVT::i32); break;
case X86::SHL32mi: printOperand(MI, 4, MVT::i8); break;
case X86::SHLD32mrCL: printOperand(MI, 4, MVT::i32); break;
case X86::SHR32mi: printOperand(MI, 4, MVT::i8); break;
case X86::SHRD32mrCL: printOperand(MI, 4, MVT::i32); break;
case X86::SUB32mi: printOperand(MI, 4, MVT::i32); break;
case X86::SUB32mi8: printOperand(MI, 4, MVT::i8); break;
case X86::SUB32mr: printOperand(MI, 4, MVT::i32); break;
case X86::TEST32mi: printOperand(MI, 4, MVT::i32); break;
case X86::TEST32mr: printOperand(MI, 4, MVT::i32); break;
case X86::TEST8mi: printOperand(MI, 4, MVT::i8); break;
case X86::XCHG32mr: printOperand(MI, 4, MVT::i32); break;
case X86::XOR32mi: printOperand(MI, 4, MVT::i32); break;
case X86::XOR32mi8: printOperand(MI, 4, MVT::i8); break;
case X86::XOR32mr: printOperand(MI, 4, MVT::i32); break;
}
into this:
switch (MI->getOpcode()) {
case X86::ADC32mi:
case X86::ADC32mr:
case X86::ADD32mi:
case X86::ADD32mr:
case X86::AND32mi:
case X86::AND32mr:
case X86::CMP32mi:
case X86::CMP32mr:
case X86::MOV32mi:
case X86::MOV32mr:
case X86::OR32mi:
case X86::OR32mr:
case X86::SBB32mi:
case X86::SBB32mr:
case X86::SHLD32mrCL:
case X86::SHRD32mrCL:
case X86::SUB32mi:
case X86::SUB32mr:
case X86::TEST32mi:
case X86::TEST32mr:
case X86::XCHG32mr:
case X86::XOR32mi:
case X86::XOR32mr: printOperand(MI, 4, MVT::i32); break;
case X86::ADC32mi8:
case X86::ADD32mi8:
case X86::AND32mi8:
case X86::OR32mi8:
case X86::ROL32mi:
case X86::ROR32mi:
case X86::SAR32mi:
case X86::SBB32mi8:
case X86::SHL32mi:
case X86::SHR32mi:
case X86::SUB32mi8:
case X86::TEST8mi:
case X86::XOR32mi8: printOperand(MI, 4, MVT::i8); break;
}
After this, the generated asmwriters look pretty much as though they were
generated by hand. This shrinks the X86 asmwriter.inc files from 55101->39669
and 55429->39551 bytes each, and PPC from 16766->12859 bytes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19760 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-22 20:31:17 +00:00
Chris Lattner
f876668518
Implement *even more* factoring. In particular, if all of the instruction
...
strings starts out with a constant string, we emit the string first, using
a table lookup (instead of a switch statement).
Because this is usually the opcode portion of the asm string, the differences
between the instructions have now been greatly reduced. This allows many
more case statements to be grouped together.
This patch also allows instruction cases to be grouped together when the
instruction patterns are exactly identical (common after the opcode string
has been ripped off), and when the differing operand is a MachineInstr
operand that needs to be formatted.
The end result of this is a mean and lean generated AsmPrinter!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19759 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-22 19:22:23 +00:00
Chris Lattner
d648867173
Refactor code for numbering instructions into CodeGenTarget.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19758 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-22 18:58:51 +00:00
Jeff Cohen
615ed993e1
Fix VC++ compilation error
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19757 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-22 18:50:10 +00:00
Chris Lattner
870c016934
Implement factoring of instruction pattern strings. In particular, instead of
...
emitting code like this:
case PPC::ADD: O << "add "; printOperand(MI, 0, MVT::i64); O << ", "; prin
tOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n
'; break;
case PPC::ADDC: O << "addc "; printOperand(MI, 0, MVT::i64); O << ", "; pr
intOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '
\n'; break;
case PPC::ADDE: O << "adde "; printOperand(MI, 0, MVT::i64); O << ", "; pr
intOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '
\n'; break;
...
Emit code like this:
case PPC::ADD:
case PPC::ADDC:
case PPC::ADDE:
...
switch (MI->getOpcode()) {
case PPC::ADD: O << "add "; break;
case PPC::ADDC: O << "addc "; break;
case PPC::ADDE: O << "adde "; break;
...
}
printOperand(MI, 0, MVT::i64);
O << ", ";
printOperand(MI, 1, MVT::i64);
O << ", ";
printOperand(MI, 2, MVT::i64);
O << "\n";
break;
This shrinks the PPC asm writer from 24785->15205 bytes (even though the new
asmwriter has much more whitespace than the old one), and the X86 printers shrink
quite a bit too. The important implication of this is that GCC no longer hits swap
when building the PPC backend in optimized mode. Thus this fixes PR448.
-Chris
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19755 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-22 18:38:13 +00:00
Chris Lattner
f11ad9ef46
Fix the ::: problem
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19754 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-22 18:18:59 +00:00
Chris Lattner
5765dba5ce
Minor refactoring, no functionality change.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19753 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-22 17:40:38 +00:00
Chris Lattner
b0b55e74a0
Seperate asmstring parsing from emission. This allows the code to be simpler
...
and more understandable. It also allows us to do simple things like fold
consequtive literal strings together. For example, instead of emitting this
for the X86 backend:
O << "adc" << "l" << " ";
we now generate this:
O << "adcl ";
*whoa* :)
This shrinks the X86 asmwriters from 62729->58267 and 65176->58644 bytes
for the intel/att asm writers respectively.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19749 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-22 17:32:42 +00:00
Andrew Lenharth
2202bfa5a3
make double-dollar properly escape asmstrings
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19740 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-22 00:35:22 +00:00
Chris Lattner
aad75aa1a2
Expose isConvertibleToThreeAddress and isCommutable bits to the code generator.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19243 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-02 02:29:04 +00:00
Reid Spencer
ead87b6712
For PR387:
...
Make this compile without warning when -Woverloaded-virtual is used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18588 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-06 23:42:37 +00:00
Reid Spencer
227b6d00dd
Fix usage of changed function prototype
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17798 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14 22:30:54 +00:00
Chris Lattner
141e3fd81d
Quiet VC++ warnings
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17484 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-05 04:50:59 +00:00
Reid Spencer
cc2d1e25f3
Internalize variable names to prevent recursive assignment. Cleanup docs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17359 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-30 09:19:36 +00:00
Reid Spencer
6cb21d443e
Change Library Names Not To Conflict With Others When Installed
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17286 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-27 23:18:45 +00:00
Chris Lattner
1fca5ff62b
Convert 'struct' to 'class' in various places to adhere to the coding standards
...
and work better with VC++. Patch contributed by Morten Ofstad!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17281 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-27 16:14:51 +00:00
Chris Lattner
89e0f74094
Make VC happier, patch contributed by Morten Ofstad
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17179 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-23 04:58:50 +00:00
Reid Spencer
40a955ab05
We're not doing automake any more
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17168 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-22 21:02:23 +00:00
Reid Spencer
cac731ecbe
We won't use automake
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17155 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-22 03:35:04 +00:00
Reid Spencer
86d341b204
Initial automake generated Makefile template
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17136 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-18 23:55:41 +00:00
Misha Brukman
28eefa5464
* Factor out (into new fn) a loop emitting operand shifts into the instruction
...
* Reverse instruction bit components for a LittleEndian-style encoding
* Fix some comments and spacing
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16975 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-14 05:53:01 +00:00
Misha Brukman
35e83cc970
* Add option to read isLittleEndianEncoding for InstrInfo classes
...
* Doxygen-ify some function comments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16974 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-14 05:50:43 +00:00
Chris Lattner
4523709d8e
Patch to make VS happier, thanks to Morten Ofstad for pointing this out.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16956 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-13 15:25:46 +00:00
Reid Spencer
36a7d906c3
Updates for changes in Makefile rules.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16951 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-13 11:48:50 +00:00
Chris Lattner
9d990a01a9
Don't emit the method into the llvm namespace, let the #includer decide where it goes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16934 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-12 16:21:18 +00:00
Reid Spencer
9f41a5fe85
Initial version of automake Makefile.am file.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16885 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-10 20:43:57 +00:00
Misha Brukman
cf4f810372
Properly `quote' names, and don't forget to add the ending quote!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16838 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-08 14:59:05 +00:00
Chris Lattner
953c6fe112
Correctly parse variant notation
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16637 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-03 20:19:02 +00:00
Chris Lattner
560a79f1ea
Add initial support for variants. This just parses the new format, no
...
functionality is added
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16636 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-03 19:34:31 +00:00
Misha Brukman
231684adb4
#include DataTypes.h to compile on MinGW, patch by Henrik Bach.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16616 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-30 18:27:39 +00:00
Nate Begeman
cdd66b524f
Add support for the isLoad and isStore flags, needed by the instruction scheduler
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16554 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-28 21:01:45 +00:00
Chris Lattner
5b71d3af35
Turn the hasDelaySlot flag into the M_DELAY_SLOT_FLAG
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16553 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-28 18:38:01 +00:00
Chris Lattner
b228657acc
Revamp the Register class, and allow the use of the RegisterGroup class to
...
specify aliases directly in register definitions.
Patch contributed by Jason Eckhardt!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16330 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-14 04:17:02 +00:00
Reid Spencer
40b062fdf8
Clean up some "clean:" targets so they use $(VERB) and don't print anything
...
by default, like every other "clean" target in LLVM.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16161 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-03 23:19:53 +00:00
Reid Spencer
23f7d5131c
Make tblgen's exception handling a little more robust by printing the
...
program name and also catching ...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16160 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-03 23:17:54 +00:00
Reid Spencer
551ccae044
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/.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16137 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-01 22:55:40 +00:00
Reid Spencer
0172d09b64
Link with LLVMsystem.a for operating system independence.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16094 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 19:31:19 +00:00
Reid Spencer
debb5f085a
RemoveFileOnErrorSignal is now in the llvm::sys namespace. Adjust
...
accordingly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16093 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 19:30:41 +00:00
Chris Lattner
037d732e09
Alignment is now in bits.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15976 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-21 20:15:25 +00:00
Chris Lattner
98df506e71
Make alignment be in bits, just like size is
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15969 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-21 20:00:36 +00:00
Chris Lattner
987b5cc557
Infer the spillsize/alignment of a register based on the register classes
...
it is embedded into.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15966 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-21 19:42:03 +00:00
Chris Lattner
5767775505
Support "Methods" in register classes in CodgeGenRegisterClass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15965 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-21 19:21:21 +00:00
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