Commit Graph

319 Commits

Author SHA1 Message Date
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
038e05a917 Move debug functionality to Debug.cpp/Debug.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7494 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 22:15:41 +00:00
Chris Lattner
96a54db5e7 Describe the value name
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7493 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 22:15:15 +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
7a6ff2b98e Check in the implementation of the FileUtilities!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7487 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 21:16:14 +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
794a58ed19 Use the C++, more portable, deleter
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7483 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 20:29:18 +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
fafac12dcd Move #include from a header to here
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7480 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 19:16:29 +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
71336a9c14 Fix the JIT in the Nightly tester. This was not a fun bug to track down.
See the comments in the patch for details.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7457 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-31 19:38:34 +00:00
Chris Lattner
396aecd032 Trivial cleanups: no need to include header twice. Global variable is local to file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7456 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-31 19:31:21 +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
9cf3d47702 Add support for "named positional arguments"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7421 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-30 17:34:02 +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
Misha Brukman
3ce4ac62a0 The RTLD_GLOBAL flag allows symbols to be globally accessible, which makes
resolution of symbols in the .so possible (currently assists debugging with
bugpoint).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7366 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-28 19:19:58 +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
Brian Gaeke
6b902dcd5d Include llvm/Support/Mangler.h first. Don't include <iostream>, <set>,
<string>, or llvm/Value.h.  Move up the inclusion of llvm/Support/Mangler.h.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7321 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-25 20:21:20 +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
Brian Gaeke
4166445b7c Cleanups:
Mangler.cpp: Constify parameter to makeNameProper, and use const_iterator.
 Make Count an unsigned int, and use utostr().
 Don't name parameters things that start with underscore.
Mangler.h: All of the above, and also: Add Emacs mode-line.  Include <set>.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7301 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-24 21:37:57 +00:00
Brian Gaeke
b198ca304b Factor out name-mangling from X86/Printer, which is derived from CWriter,
into this new support class.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7300 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-24 20:20:58 +00:00
Chris Lattner
c07736a397 Simplify code by using ConstantInt::getRawValue instead of checking to see
whether the constant is signed or unsigned, then casting


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7252 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-23 15:22:26 +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
bc0e998c49 The word separate' only has one e'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7173 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-14 17:20:40 +00:00
Misha Brukman
1115e0483f Fixed grammatical error.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7160 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-10 21:38:28 +00:00
Misha Brukman
b5c520bfb6 Lowercase versions of `occurrence' need to be spelled correctly, too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7142 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-10 17:05:26 +00:00
Misha Brukman
dd6cb6a43b Occurrence' has no a' and the `r' is doubled.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7140 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-10 16:49:51 +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
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
Chris Lattner
d2a6fc397e Add support for 'unsigned' command line arguments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6928 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-28 15:47:20 +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
ed4775a3c1 Remove usage of sys/unistd.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6788 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-19 18:42:09 +00:00
Brian Gaeke
8c63883f1f Put ifdefs around use of malloc.h/mallinfo, which isn't available on FreeBSD.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6750 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17 19:54:00 +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
Chris Lattner
2eb9a257c8 Actually, change it to use explicit new/delete, which is more likely to be
optimized INTO an alloca


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6727 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-16 22:29:09 +00:00
Chris Lattner
5b1688d73b Remove usage of alloca
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6726 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-16 22:22:11 +00:00
Brian Gaeke
ad95d9ef50 Isolate machine-dependent use of <alloca.h> in "Support/Alloca.h",
so that we can easily change its use to be conditional on the result of
an autoconf test later.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6723 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-16 21:54:01 +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
Chris Lattner
903c2d11e2 Fix compilation problem with some versions of G++
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6660 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-06 22:13:01 +00:00
Chris Lattner
b8c8829a4a Fix problem with perror
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6659 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-06 21:09:29 +00:00
Misha Brukman
f4ef4c881f All debug print statements are now output with the DEBUG() guard to make
output clean so that tests can automatically diff the output.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6643 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-06 00:27:02 +00:00
Misha Brukman
3d194ac26b * Stop ignoring cc registers, since we actually use them in branches.
* Added comment as to why we are still ignoring predict and annul bits.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6636 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-05 23:15:25 +00:00
Chris Lattner
85df22568d Spiff up options a bit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6573 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-03 05:07:28 +00:00
Chris Lattner
9a886386a4 Add -o support for TableGen
I figure that misha has done a lot of things on my todo list, the least I
can do is reciprocate a bit.  :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6571 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-03 05:04:42 +00:00
Chris Lattner
bc52013e30 Make tablegen use more structured command line options
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6570 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-03 04:56:29 +00:00
Misha Brukman
9ced1671a6 Stop ignoring the `cc' field, we actually use it now (e.g. conditional move)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6555 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-03 00:07:17 +00:00
Misha Brukman
e7800b5458 getValueOp() now takes a MachineInstr as well as a MachineOperand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6450 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-30 20:32:01 +00:00
Misha Brukman
ecc7fd3c56 Output the opcode name of the instruction being emitted to cerr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6386 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-28 18:29:10 +00:00
Misha Brukman
b9dd8154b6 Cannot output `static' in generated cpp code: results in error. It's already
specified as a static member in class definition.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6370 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-27 22:29:02 +00:00
Misha Brukman
cbfde0a612 * Now outputting a static function getBinaryCodeForInstr() (JIT-accessible)
* For debugging purposes:
  + output the predefined bit pattern of the instruction
* Fixed inefficiency: only load an operand from MachineInstr once
* Bug fix: did not advance bit index when seeing named bit-fields "annul", "cc"
  and "predict"
* Added a catch-all for non-supported instructions at the end of switch stmt.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6368 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-27 22:19:58 +00:00
Chris Lattner
39602b2002 Make _sure_ we don't go into an infinite loop if a signal happens!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6351 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-27 16:25:04 +00:00
Misha Brukman
f00ce8bc29 Add ability to utilize the code emitter generator (CodeEmitterGen).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6322 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-24 00:17:12 +00:00
Misha Brukman
9fff7e194a First cut at the Code Generator using the TableGen methodology.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6321 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-24 00:15:53 +00:00
Chris Lattner
7594b29c75 Remove long dead code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6307 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-22 22:00:54 +00:00
Chris Lattner
01e770a9e5 Add using declarations
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6305 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-22 21:59:35 +00:00
Chris Lattner
72fb8e5082 Add new CommaSeparated option modifier
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6294 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-22 20:26:17 +00:00
Chris Lattner
ca6433f233 Destroy using declarations
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6291 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-22 20:06:43 +00:00
Misha Brukman
e3d333edd1 I fixed that ``thang'', yo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6252 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-20 23:45:36 +00:00
Chris Lattner
f205fec78a Add a new info-output-file option (hidden from --help) which is to be used by
the testing scripts  to avoid breaking diffs while still gathering stats.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6067 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-09 20:05:44 +00:00
Chris Lattner
88a9a3e6e3 Update to work with newer versions of bison
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5762 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-31 21:26:06 +00:00
Chris Lattner
8166b7cdb8 Make more compatible with GCC 2.96
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5550 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-13 16:25:28 +00:00
Chris Lattner
e040f97066 Remove gunk that was supposed to make space evaluation more precise, but never worked.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5549 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-13 05:07:53 +00:00
Chris Lattner
98d829c22f Don't output times in "scientific" notation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5544 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-12 19:02:13 +00:00
Chris Lattner
0ad4c00c68 Remove the -debug option from release executables
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5521 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-09 21:13:57 +00:00
Chris Lattner
bbe5ac1458 Squelch warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5494 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-05 21:44:28 +00:00
Chris Lattner
3f39849003 * Add new -track-memory option to tools which enables the mem usage column in the reports.
This is now optional (and defaults to off) because mallinfo can be VERY slow as it
seems to touch every page of allocated memory.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5448 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-30 23:08:50 +00:00
Chris Lattner
3301b695cb Fix build problem on sparc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5428 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-29 18:15:34 +00:00
Chris Lattner
b16b39914b Fix warning on sparc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5426 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-29 16:26:46 +00:00
Chris Lattner
4170123278 Fix warnings
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5377 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-20 06:19:18 +00:00
Chris Lattner
cb09cc268b Move annotation to support library
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5268 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-14 21:29:58 +00:00
Chris Lattner
3fa61eb199 Fix static initializer ordering dependency
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5236 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-13 00:52:43 +00:00
Chris Lattner
e1b52b7656 Fix compilation on GCC 3.2
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5136 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-24 00:44:34 +00:00
Chris Lattner
4a10645c70 New files for miscompilation detection
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5120 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-23 23:50:16 +00:00
Chris Lattner
28c2d409a5 Fix bug
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4942 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-06 04:42:16 +00:00
Chris Lattner
23ffa4a488 Allow printing partially constructed bitsets
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4941 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-06 04:42:10 +00:00
Chris Lattner
cdbfa422cd Don't delete values that may still be referenced!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4940 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-06 04:02:48 +00:00
Chris Lattner
ade0de9123 Tighten up assertion checking
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4939 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-06 03:55:39 +00:00
Chris Lattner
7b1d49b61d Add code that can be used for debugging
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4888 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-03 20:01:04 +00:00
Chris Lattner
b1ed0fc630 Continue implementing field initializers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4879 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-03 06:00:33 +00:00
Chris Lattner
4767a0c1b6 Don't delete temporary files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4878 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-03 06:00:11 +00:00
Misha Brukman
f86c0e0cab Ignore generated files gram.tab.c and gram.tab.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4862 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-02 21:15:37 +00:00
Misha Brukman
92ad9f7b40 Ignore generated files FileLexer.* and FileParser.*
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4860 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-02 21:13:59 +00:00
Chris Lattner
b45b3b3cd1 Continued support for field intitializers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4855 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-02 17:53:54 +00:00
Chris Lattner
db1b766fe6 Continued support for field initializer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4854 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-02 17:44:35 +00:00
Chris Lattner
7331ab9d56 Continued support for Field Initializer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4853 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-02 17:43:58 +00:00
Chris Lattner
9833493bae Adjustments due to new FieldInit stuff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4852 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-02 17:43:43 +00:00
Chris Lattner
f1e37d9d03 Add comments, factor out common code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4851 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-02 16:57:01 +00:00
Chris Lattner
34a7769b0b Add support for field exprs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4850 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-02 16:43:43 +00:00
Chris Lattner
28520c4b61 * Move BitsInit::resolveReferences up with the rest of BitsInit code
* Initial support for field expressions


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4849 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-02 16:43:30 +00:00
Chris Lattner
a1651900e1 Initial support for Field Expressions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4848 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-02 16:42:52 +00:00
Chris Lattner
d00e8f1f83 Add correct dependency
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4847 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-02 16:31:46 +00:00
Chris Lattner
24e79094f9 Split up targets
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4846 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-02 16:13:42 +00:00
Chris Lattner
07278e48dc Add comments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4845 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-02 16:13:23 +00:00
Chris Lattner
e62c1185be Initial checkin of TableGen utility
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4843 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-02 01:23:04 +00:00
Chris Lattner
8f0d824dd7 Add peak memory usage measurement capability
Add (currently disabled) faciility to try to filter out pool allocation overhead from memory usage stats


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4753 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-18 21:47:09 +00:00
Chris Lattner
69e79e0be4 Simplify code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4547 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-04 21:06:54 +00:00
Chris Lattner
a95078dc24 Sun can now use mallinfo()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4546 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-04 21:05:21 +00:00
Chris Lattner
18eba91a05 Allow memory sizes to be negative, remove obsolete TmpRSS field
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4538 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-04 19:19:36 +00:00
Chris Lattner
6cd11f6535 mallinfo is not available on sun apparently :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4537 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-04 19:01:41 +00:00
Chris Lattner
a5cf9364f1 Minor fix to space accounting
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4520 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-04 01:49:45 +00:00
Chris Lattner
9d4ef12b9c Implement MaxRSS in terms of mallinfo instead of the system RSS. This gives
us much more accurate numbers and actually WORKS.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4518 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-04 00:32:44 +00:00
Chris Lattner
e6f960a512 Fix burg build problem.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4480 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-01 03:16:45 +00:00
Chris Lattner
9550dc2df2 Add #include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4291 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-27 19:08:03 +00:00
Chris Lattner
a50d6ec97d Work better with other versions of bison
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4290 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-27 19:06:56 +00:00
Anand Shukla
3400837374 Added #include<unistd.h> to compile with solaris gcc3.2
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4042 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-04 23:57:01 +00:00
Anand Shukla
c1d4d79d93 added cast to unsigned to compile with gcc3.2 (sparc)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4041 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-04 23:56:18 +00:00
Chris Lattner
96ef1b90c8 - Rework Statistics:
* Renamed StatisticReporter.h/cpp to Statistic.h/cpp
    * Broke constructor to take two const char * arguments instead of one, so
      that indendation can be taken care of automatically.
    * Sort the list by pass name when printing
    * Make sure to print all statistics as a group, instead of randomly when
      the statistics dtors are called.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3999 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-01 22:35:45 +00:00