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
00d7af60b0
Fix minor bugs in the tester
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7943 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-18 14:07:03 +00:00
Chris Lattner
bf6a4dcf2d
* Split the programs table into MultiSource and SingleSource components
...
* Instead of printing the time to configure as the build time, print the
time to configure AND the build time, explicitly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7942 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-18 06:05:21 +00:00
Chris Lattner
e928d7dcc5
The CBE output is compiled at -O2
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7938 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-18 04:39:41 +00:00
Chris Lattner
b1adab7cb5
Add docs for new column, native tests now run with -O2
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7935 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-18 04:32:34 +00:00
Chris Lattner
e2ce618e2c
Make the check for a failed test run more robust!!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7924 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-17 20:52:05 +00:00
Misha Brukman
0137afab0a
* Match the column names in the report
...
* Describe and clarify meanings of columns
* Fix up HTML: close <a> and <li> tags
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7900 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-15 19:31:04 +00:00
Chris Lattner
4050f7f6f2
Document new column, remove X86 specific stuff
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7886 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-15 16:29:06 +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
8e9554a8e5
* Enable SPEC testing in the `configure' script command line
...
* Switched from using `m||' to `m##' because VIM mis-highlights `m||'
* Simplified the regex getting the file version number
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7842 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-14 15:26:28 +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
175724f2d3
Make LOC count more accurate by not including the tablegen lexer/parser, any .inc files, which are generated by tablegen, nor .lo files which sometimes get picked up from libtool
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7770 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-12 05:11:12 +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
Misha Brukman
dac3549191
Added keyword `include', and a FIXME for hex and binary constants.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7740 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11 19:14:20 +00:00
Misha Brukman
bdb41194dd
* Added (X)Emacs mode for TableGen description files
...
* Added README that describes how to use the mode files
* Associated files with .llx extension with llvm-mode
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7738 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11 19:10:02 +00:00
Misha Brukman
3871f05671
tablegen.vim:
...
* Added keyword `field'
* Keywords get different highlighting than types
* Added a simple attempt at multi-line C-style comments with FIXME
README:
* Added note about symlinking an entire directory ~/.vim/syntax
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7733 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11 18:05:19 +00:00
Chris Lattner
00a61d4fd4
Add .llx
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7732 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11 18:01:39 +00:00
Misha Brukman
115dc0deab
Added a TableGen syntax highlighting mode for VIM and a README that describes
...
how to add the functionality to the user's VIM installation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7731 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11 17:56:08 +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
Chris Lattner
a40e5ad69f
Add and use a new method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7682 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 19:41:59 +00:00
Chris Lattner
2b8b2b4aee
Cleanup and reorganize code, no functional changes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7679 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 19:28:55 +00:00
Chris Lattner
b356a24bf1
Read in expanders too
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7678 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 19:21:10 +00:00
Chris Lattner
f8e9683a33
Continued evolution of the selector emitter: Represent instruction patterns
...
as first class objects
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7677 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 19:12:24 +00:00
Chris Lattner
bc659ddb85
Finish implementation of the type inference engine.
...
Start working on reading in nonterminals
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7671 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 06:02:15 +00:00
Chris Lattner
54c66feed9
Allow clients to get at the pointer type
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7670 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 06:01:44 +00:00
Chris Lattner
784a793636
Add new method getVAlueAsDag
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7669 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 06:00:43 +00:00
Chris Lattner
018c9e4d26
Initial checkin of tree pattern parser and type inference engine (which still needs work).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7668 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 05:40:14 +00:00
Chris Lattner
84a393bd0d
Eliminate now-dead method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7667 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 05:39:37 +00:00
Chris Lattner
7884b750c3
Start using the CodeGeneratorWrappers
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7666 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 05:39:09 +00:00
Chris Lattner
4587207967
Initial checkin of useful wrappers around the Target classes, for now, only ValueType and
...
Target are wrapped
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7665 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 05:38:11 +00:00
Chris Lattner
eac56ac0da
Ick, add the RIGHT accessor
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7656 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-06 23:01:18 +00:00
Chris Lattner
6514a326cf
Add accessor
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7655 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-06 23:00:31 +00:00
Chris Lattner
81a83f2770
There is something wrong with code that looks like:
...
if (R == 0 || ...)
R->getName()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7654 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-06 22:29:04 +00:00
Chris Lattner
38aa542f36
Export the register classes so that the instruction selector can get at them as needed
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7651 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-06 21:47:14 +00:00
Misha Brukman
dfd414ab77
Added asserts to prevent negative shift amounts from being generated.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7640 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-06 16:28:49 +00:00
Chris Lattner
c9cdadf2d3
Sort the file lists
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7638 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-06 16:02:50 +00:00
Chris Lattner
2787d1a34b
Add error checking code to the node type parser. Start the instruction pattern
...
reader
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7632 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-06 06:16:35 +00:00
Chris Lattner
faca5ab189
Initial support for an instruction selector emitter
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7631 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-06 05:42:05 +00:00
Chris Lattner
a7ac3cfabe
All good classes with virtual functions should have virtual dtors...
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7630 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-06 05:39:03 +00:00
Chris Lattner
3f781341f9
Add an instruction selector emitter skeleton
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7629 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-06 04:47:56 +00:00
Chris Lattner
0e5e49e688
convert over to using TableGen backends
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7628 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-06 04:36:35 +00:00
Chris Lattner
bc01723605
Switch code over to being a TableGenBackend
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7627 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-06 04:32:07 +00:00
Chris Lattner
18a6a94e1f
Add more helper methods
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7626 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-06 04:31:26 +00:00
Chris Lattner
2c0f2c74be
New common interface for backends to use
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7625 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-06 04:23:04 +00:00
Misha Brukman
d88ba5a861
Stop special-casing annul and predict bits (which are Sparc-specific anyway)
...
since those bits are now hard-coded in Sparc*.td files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7593 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-05 14:35:35 +00:00
Chris Lattner
ffaee37556
No functional changes, comment the fix I just put in
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7590 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-05 03:59:01 +00:00
Chris Lattner
d7efef9d14
The CodeEmitterGenerator used to consider ANY uninitialized field as being an
...
operand (unless it's annul or predict). Now we only consider fields to be
operands if they are uninitialized AND used in the "Inst" field.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7589 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-05 03:53:04 +00:00
Chris Lattner
bc21c34ea1
Parse DAG patterns
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7577 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-04 20:44:43 +00:00
Chris Lattner
8e9a9774eb
add support for DagInit initializers, which represent DAG patterns
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7576 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-04 20:44:17 +00:00
Chris Lattner
13854f295b
Update file header comment
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7574 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-04 20:08:28 +00:00
Chris Lattner
cad3569656
Transition complete, remove the obsolete 'set' keyword
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7566 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-04 05:04:52 +00:00
Chris Lattner
42aa89eeb1
Start transitioning towards using 'let X = y in' statements, instead of 'set X = y in'.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7562 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-04 04:56:53 +00:00
Chris Lattner
e9d019c364
It appears that somehow we forgot to add support for code variables.
...
Fix bug: TableGen/2003-08-03-PassCode.td
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7561 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-04 04:53:50 +00:00
Chris Lattner
40f71134b9
Add initial support for a new 'dag' type
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7559 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-04 04:50:57 +00:00
Chris Lattner
a8af7799dd
Allow registers to specify a custom name
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7548 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-03 22:14:50 +00:00
Chris Lattner
15de32d706
add new --gen-instr-desc option
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7545 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-03 21:58:28 +00:00
Chris Lattner
0969c5bdf2
Add new Record::getValueAsBit method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7544 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-03 21:58:13 +00:00
Chris Lattner
a3ae6143c1
Finish the instruction info emitter
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7543 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-03 21:57:51 +00:00
Chris Lattner
08ca97291f
Fix bug: TableGen/IntBitInit.td
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7526 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-03 18:29:51 +00:00
Chris Lattner
d19c2cf5d2
Fix bug: TableGen/BitsInitOverflow.td
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7524 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-03 18:24:34 +00:00
Chris Lattner
13c5b4cdc8
* Changes to allow lists of any type
...
* Reorganize Target class a bit
* Fix string out of range access bug
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7520 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-03 18:17:54 +00:00
Chris Lattner
7cf0ce4b8d
Changes to allow lists of any type
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7519 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-03 18:17:22 +00:00
Chris Lattner
bc1f0dc7eb
expand contraction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7518 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-03 18:12:59 +00:00
Chris Lattner
169e66bfc2
Add support for instruction enum emission
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7516 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-03 17:24:20 +00:00
Chris Lattner
33ccf7edff
Initial checkin of Instruction emitter, which just produces enum values so far
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7515 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-03 17:24:10 +00:00
Chris Lattner
d17eabe1d3
Remove dead private:
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7514 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-03 16:30:24 +00:00
Chris Lattner
0bb66fc30e
Make the register numbers line up more frequently
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7508 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-03 15:40:38 +00:00
Chris Lattner
6009425e88
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7507 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-03 13:58:01 +00:00
Chris Lattner
9fff8919ee
Finish the register info emitter
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7506 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-03 13:52:02 +00:00
Chris Lattner
dbb295bd0d
Add new method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7502 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-02 01:27:37 +00:00
Chris Lattner
c648dabf65
DEBUG got moved to Debug.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7491 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 22:13:59 +00:00
Chris Lattner
e79c72d4cd
Tablegen should only replace the output if it changes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7486 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 20:35:01 +00:00
Chris Lattner
f1e366acff
Make sure to delete the output file if there is an error
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7481 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 19:21:43 +00:00
Chris Lattner
c7d58024f8
add support for emitting register classes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7473 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 06:27:59 +00:00
Chris Lattner
58c5de1692
Add new getValueAsListInit and getValueAsInt methods
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7472 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 06:15:10 +00:00
Chris Lattner
54d156d333
Add the ability to emit register file enums
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7471 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 05:59:20 +00:00
Chris Lattner
24151a6888
Fix the way field bit references are resolved, also allow resolution of field references overall!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7470 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 05:58:58 +00:00
Chris Lattner
accd8abeeb
Dead code elimination
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7468 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 04:47:20 +00:00
Chris Lattner
6f334ad8f5
Add new getValueAsBitsInit 'high-level' method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7467 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 04:46:24 +00:00
Chris Lattner
1d1adea493
Add file comment
...
Add register info emitter
Simplify code by using "high-level" methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7466 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 04:39:05 +00:00
Chris Lattner
3112326c88
Initial checkin of register info emitter
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7465 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 04:38:38 +00:00
Chris Lattner
048c00db1c
Simplify code to match new interfaces
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7464 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 04:38:18 +00:00
Chris Lattner
5c737ad4d6
Switch over to an exception handling model for "high-level" requests.
...
Add new getValueAsString method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7463 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 04:37:57 +00:00
Chris Lattner
cf1b585312
Minor cleanups
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7462 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 04:15:25 +00:00
Chris Lattner
ab47ae3381
Factor code out into a new getAllDerivedDefinitions method, which is generally useful
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7461 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 04:09:58 +00:00
Chris Lattner
6058fd3589
Forget about KEEP_SYMBOLS, make sure to build into the temp directory, not into localhome
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7450 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-31 16:05:11 +00:00
Chris Lattner
c9670ef17d
More minor cleanups of the interface
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7446 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-31 04:43:49 +00:00
Chris Lattner
f745a20deb
Rename createEmitter to run because eventually all tablegen backends will
...
be subclasses of a common interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7445 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-31 04:38:26 +00:00
Chris Lattner
14d7c59491
Add file comment
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7444 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-31 04:37:57 +00:00
Chris Lattner
aaa3939476
Tighten up interface
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7443 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-31 04:32:37 +00:00
Chris Lattner
e3a1d05448
Add support for code fragments
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7440 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-30 22:15:58 +00:00
Chris Lattner
f05760de76
Initial support for the 'code' type.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7439 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-30 21:47:42 +00:00
Chris Lattner
7dff053540
Move err() to the lexer, implement file inclusion capabilities directly in tblgen
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7436 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-30 20:56:47 +00:00
Chris Lattner
e623fe3d0a
Minor reorganization, move ParseFile to the lexer
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7432 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-30 19:55:10 +00:00
Chris Lattner
90523906fa
Make tablegen take an input filename to parse if one is specified, otherwise
...
use stdin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7431 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-30 19:48:02 +00:00
Chris Lattner
d33b8db415
Directly support C style comments in tblgen, but allow them to actually nest
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7429 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-30 19:39:36 +00:00
Chris Lattner
18226e0cf1
Fix coredump for when an ID is used illegally outside a record
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7411 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-30 05:17:35 +00:00
Chris Lattner
bfce056ea8
Don't pollute the namespace with template arguments after they have been resolved
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7410 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-30 04:56:05 +00:00
Chris Lattner
554af5cd62
Implement TODO: disallow 'def's with template arguments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7409 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-30 04:31:17 +00:00
Chris Lattner
fc06bf0eaa
Allow specification of anonymous definitions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7408 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-30 04:26:44 +00:00
Chris Lattner
f1b36f9a71
Allow passing lists through variables
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7407 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-30 04:16:52 +00:00
Chris Lattner
9b929aa749
Implement resolution of variables to the value of the variable once it gets a value
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7406 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-30 04:05:07 +00:00
Chris Lattner
30709543d2
Don't crash if there is no Inst class in the tablegen file!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7402 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-29 23:00:08 +00:00
Chris Lattner
2e724541ff
Add support for Set statements without {}'s. Now we can just say
...
set Foo = bar in
def blah: blahclass {}
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7355 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-28 03:49:40 +00:00
Chris Lattner
ce3d64025b
Allow initializing variable initializers with variables
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7354 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-28 03:39:57 +00:00
Chris Lattner
b5b3c6fc01
Use C++ headers, not C headers
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7308 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-25 17:32:51 +00:00
Vikram S. Adve
df3ac860e8
(1) Pass 'VAR=string' arguments to gmake
...
(2) Detect LLVMDIR using the LEVEL variable in Makefile.
(3) To perform #2 propertly, use the same Makefile search rules as gmake.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7228 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-22 12:35:28 +00:00
Misha Brukman
c86516f35c
Added a DEBUG() guard to a debug information printout.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7203 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-18 18:03:45 +00:00
Misha Brukman
f6e5217b54
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7180 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-15 21:26:09 +00:00
Misha Brukman
7eac4766b1
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7179 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-15 21:00:32 +00:00
Misha Brukman
48aa824279
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7123 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-07 22:30:44 +00:00
Misha Brukman
1b36689f03
* Made $Template refer to a path relative to the checked-out tree
...
* Made error messages print out what directory failed chdir()
* Put quotes around search arguments to grep
* Use `egrep' instead of `grep -e' because they are equivalent but `grep' does
not have the `-e' option on Sparc/Solaris
* Added `--enable-jit' to the ./configure command because both X86 and Sparc
have JITs and we want them to be tested
* Fixed the regular expressions parsing the changes in CVS which were causing
the script to die
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7118 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-07 21:27:40 +00:00
Brian Gaeke
3fb290e41f
Add -d option to trust the disassembler.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7105 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-03 21:44:32 +00:00
Brian Gaeke
6bc3b7c701
here little scriptie, nice scriptie...
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7104 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-03 21:15:02 +00:00
Chris Lattner
42815c8fc3
Update to configure the tree before building it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7026 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-01 16:02:00 +00:00
John Criswell
7a73b80b90
Merged in autoconf branch. This provides configuration via the autoconf
...
system.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7014 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-30 21:59:07 +00:00
John Criswell
3a56364f00
Added code to the clean rule that deletes files placed in the source directory.
...
These files interfer with a second build attempt.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6927 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-27 17:03:20 +00:00
Chris Lattner
c0f33b5e8b
Modify script to support checkins on branches
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6921 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-26 20:11:07 +00:00
Chris Lattner
da5a6435b2
update documentation about columns
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6833 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-21 20:09:01 +00:00
Chris Lattner
433c3fea6d
Fix breakage due to John's recent changes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6771 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-18 18:26:22 +00:00
Chris Lattner
5449955313
Fix misspelling of ExtraSources, hopefully to unbreak the nightly tester
...
Remove evil rcs tag :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6737 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17 14:30:21 +00:00
John Criswell
028936ada1
Added assert.h so that it compiles under newer versions of GCC.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6683 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-11 14:17:21 +00:00
John Criswell
aff713cca5
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?).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6681 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-11 13:57:48 +00:00
Chris Lattner
1cb65f2d62
Old versions of GCC doesn't have <ostream> :(
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6661 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-06 23:06:20 +00:00