Commit Graph

276 Commits

Author SHA1 Message Date
Chris Lattner 1bf13179c2 Make tablegen take an input filename to parse if one is specified, otherwise
use stdin.

llvm-svn: 7431
2003-07-30 19:48:02 +00:00
Chris Lattner af282ae26e Directly support C style comments in tblgen, but allow them to actually nest
llvm-svn: 7429
2003-07-30 19:39:36 +00:00
Chris Lattner 2da046f055 Add support for "named positional arguments"
llvm-svn: 7421
2003-07-30 17:34:02 +00:00
Chris Lattner 1de61e04fb Fix coredump for when an ID is used illegally outside a record
llvm-svn: 7411
2003-07-30 05:17:35 +00:00
Chris Lattner 03eeeb7e02 Don't pollute the namespace with template arguments after they have been resolved
llvm-svn: 7410
2003-07-30 04:56:05 +00:00
Chris Lattner c9dee67ab6 Implement TODO: disallow 'def's with template arguments.
llvm-svn: 7409
2003-07-30 04:31:17 +00:00
Chris Lattner 1b145a54cb Allow specification of anonymous definitions
llvm-svn: 7408
2003-07-30 04:26:44 +00:00
Chris Lattner 40004be9db Allow passing lists through variables
llvm-svn: 7407
2003-07-30 04:16:52 +00:00
Chris Lattner db68105987 Implement resolution of variables to the value of the variable once it gets a value
llvm-svn: 7406
2003-07-30 04:05:07 +00:00
Chris Lattner 590fd82e42 Don't crash if there is no Inst class in the tablegen file!
llvm-svn: 7402
2003-07-29 23:00:08 +00:00
Misha Brukman 3bb53319e8 The RTLD_GLOBAL flag allows symbols to be globally accessible, which makes
resolution of symbols in the .so possible (currently assists debugging with
bugpoint).

llvm-svn: 7366
2003-07-28 19:19:58 +00:00
Chris Lattner 8cdf385f8d Add support for Set statements without {}'s. Now we can just say
set Foo = bar in
  def blah: blahclass {}

llvm-svn: 7355
2003-07-28 03:49:40 +00:00
Chris Lattner 2c76692496 Allow initializing variable initializers with variables
llvm-svn: 7354
2003-07-28 03:39:57 +00:00
Brian Gaeke b0078fabea 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.

llvm-svn: 7321
2003-07-25 20:21:20 +00:00
Chris Lattner 5526a4468a Use C++ headers, not C headers
llvm-svn: 7308
2003-07-25 17:32:51 +00:00
Brian Gaeke 356f3289fe 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>.

llvm-svn: 7301
2003-07-24 21:37:57 +00:00
Brian Gaeke d4dff190a4 Factor out name-mangling from X86/Printer, which is derived from CWriter,
into this new support class.

llvm-svn: 7300
2003-07-24 20:20:58 +00:00
Chris Lattner 6077c3195f Simplify code by using ConstantInt::getRawValue instead of checking to see
whether the constant is signed or unsigned, then casting

llvm-svn: 7252
2003-07-23 15:22:26 +00:00
Misha Brukman ba943afa97 Added a DEBUG() guard to a debug information printout.
llvm-svn: 7203
2003-07-18 18:03:45 +00:00
Misha Brukman c7efa119ac 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.

llvm-svn: 7180
2003-07-15 21:26:09 +00:00
Misha Brukman 1912eaf0a0 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.

llvm-svn: 7179
2003-07-15 21:00:32 +00:00
Misha Brukman 7fdaab4f68 The word `separate' only has one `e'.
llvm-svn: 7173
2003-07-14 17:20:40 +00:00
Misha Brukman 5258e59908 Fixed grammatical error.
llvm-svn: 7160
2003-07-10 21:38:28 +00:00
Misha Brukman c18333ac0a Lowercase versions of `occurrence' need to be spelled correctly, too.
llvm-svn: 7142
2003-07-10 17:05:26 +00:00
Misha Brukman 069e6b5be0 `Occurrence' has no `a' and the `r' is doubled.
llvm-svn: 7140
2003-07-10 16:49:51 +00:00
Misha Brukman 222639708e 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.

llvm-svn: 7123
2003-07-07 22:30:44 +00:00
John Criswell 3ef61afb76 Merged in autoconf branch. This provides configuration via the autoconf
system.

llvm-svn: 7014
2003-06-30 21:59:07 +00:00
Chris Lattner 719c715639 Add support for 'unsigned' command line arguments
llvm-svn: 6928
2003-06-28 15:47:20 +00:00
John Criswell abebb9af11 Added code to the clean rule that deletes files placed in the source directory.
These files interfer with a second build attempt.

llvm-svn: 6927
2003-06-27 17:03:20 +00:00
Chris Lattner 0cfcaf0cc3 Remove usage of sys/unistd.h
llvm-svn: 6788
2003-06-19 18:42:09 +00:00
Brian Gaeke ad3aabd47a Put ifdefs around use of malloc.h/mallinfo, which isn't available on FreeBSD.
llvm-svn: 6750
2003-06-17 19:54:00 +00:00
Chris Lattner 0f55690855 Fix misspelling of ExtraSources, hopefully to unbreak the nightly tester
Remove evil rcs tag :)

llvm-svn: 6737
2003-06-17 14:30:21 +00:00
Chris Lattner 55491774bb Actually, change it to use explicit new/delete, which is more likely to be
optimized INTO an alloca

llvm-svn: 6727
2003-06-16 22:29:09 +00:00
Chris Lattner 7bdbd91e92 Remove usage of alloca
llvm-svn: 6726
2003-06-16 22:22:11 +00:00
Brian Gaeke 7a719ed20c 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.

llvm-svn: 6723
2003-06-16 21:54:01 +00:00
John Criswell f3e7fedff3 Added assert.h so that it compiles under newer versions of GCC.
llvm-svn: 6683
2003-06-11 14:17:21 +00:00
John Criswell be087cf11d 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?).

llvm-svn: 6681
2003-06-11 13:57:48 +00:00
Chris Lattner 91ca134e26 Old versions of GCC doesn't have <ostream> :(
llvm-svn: 6661
2003-06-06 23:06:20 +00:00
Chris Lattner 235b91e2ea Fix compilation problem with some versions of G++
llvm-svn: 6660
2003-06-06 22:13:01 +00:00
Chris Lattner efadd781f4 Fix problem with perror
llvm-svn: 6659
2003-06-06 21:09:29 +00:00
Misha Brukman 72d7da0397 All debug print statements are now output with the DEBUG() guard to make
output clean so that tests can automatically diff the output.

llvm-svn: 6643
2003-06-06 00:27:02 +00:00
Misha Brukman 1cca1c68e1 * Stop ignoring cc registers, since we actually use them in branches.
* Added comment as to why we are still ignoring predict and annul bits.

llvm-svn: 6636
2003-06-05 23:15:25 +00:00
Chris Lattner 1580a96e2a Spiff up options a bit
llvm-svn: 6573
2003-06-03 05:07:28 +00:00
Chris Lattner 5ef4cf863b 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.  :)

llvm-svn: 6571
2003-06-03 05:04:42 +00:00
Chris Lattner 6dc6f066bc Make tablegen use more structured command line options
llvm-svn: 6570
2003-06-03 04:56:29 +00:00
Misha Brukman 7e66953f17 Stop ignoring the `cc' field, we actually use it now (e.g. conditional move)
llvm-svn: 6555
2003-06-03 00:07:17 +00:00
Misha Brukman 027b3d899f getValueOp() now takes a MachineInstr as well as a MachineOperand.
llvm-svn: 6450
2003-05-30 20:32:01 +00:00
Misha Brukman 71b9de7789 Output the opcode name of the instruction being emitted to cerr.
llvm-svn: 6386
2003-05-28 18:29:10 +00:00
Misha Brukman bf453de096 Cannot output `static' in generated cpp code: results in error. It's already
specified as a static member in class definition.

llvm-svn: 6370
2003-05-27 22:29:02 +00:00
Misha Brukman 9deee31239 * 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.

llvm-svn: 6368
2003-05-27 22:19:58 +00:00
Chris Lattner 958bce2bd9 Make _sure_ we don't go into an infinite loop if a signal happens!
llvm-svn: 6351
2003-05-27 16:25:04 +00:00
Misha Brukman 0d817c4b2e Add ability to utilize the code emitter generator (CodeEmitterGen).
llvm-svn: 6322
2003-05-24 00:17:12 +00:00
Misha Brukman a7ec8e1a3e First cut at the Code Generator using the TableGen methodology.
llvm-svn: 6321
2003-05-24 00:15:53 +00:00
Chris Lattner 84d0ed920d Remove long dead code
llvm-svn: 6307
2003-05-22 22:00:54 +00:00
Chris Lattner 6d06541a90 Add using declarations
llvm-svn: 6305
2003-05-22 21:59:35 +00:00
Chris Lattner 929f27a3e6 Add new CommaSeparated option modifier
llvm-svn: 6294
2003-05-22 20:26:17 +00:00
Chris Lattner a87170a36a Destroy using declarations
llvm-svn: 6291
2003-05-22 20:06:43 +00:00
Misha Brukman 25afb65692 I fixed that ``thang'', yo.
llvm-svn: 6252
2003-05-20 23:45:36 +00:00
Chris Lattner b0e5958961 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.

llvm-svn: 6067
2003-05-09 20:05:44 +00:00
Chris Lattner 72b19ce654 Update to work with newer versions of bison
llvm-svn: 5762
2003-03-31 21:26:06 +00:00
Chris Lattner 4e6fad05a6 Make more compatible with GCC 2.96
llvm-svn: 5550
2003-02-13 16:25:28 +00:00
Chris Lattner a6b38bd7f5 Remove gunk that was supposed to make space evaluation more precise, but never worked.
llvm-svn: 5549
2003-02-13 05:07:53 +00:00
Chris Lattner 5c6961c509 Don't output times in "scientific" notation
llvm-svn: 5544
2003-02-12 19:02:13 +00:00
Chris Lattner c15e3d93f2 Remove the -debug option from release executables
llvm-svn: 5521
2003-02-09 21:13:57 +00:00
Chris Lattner 5981c63e6e Squelch warning
llvm-svn: 5494
2003-02-05 21:44:28 +00:00
Chris Lattner 2f75204cf4 * 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.

llvm-svn: 5448
2003-01-30 23:08:50 +00:00
Chris Lattner e0e1b0d2a6 Fix build problem on sparc
llvm-svn: 5428
2003-01-29 18:15:34 +00:00
Chris Lattner 51978fe692 Fix warning on sparc
llvm-svn: 5426
2003-01-29 16:26:46 +00:00
Chris Lattner b257b421f9 Fix warnings
llvm-svn: 5377
2003-01-20 06:19:18 +00:00
Chris Lattner 4fd26cc90e Move annotation to support library
llvm-svn: 5268
2003-01-14 21:29:58 +00:00
Chris Lattner 2d2928a891 Fix static initializer ordering dependency
llvm-svn: 5236
2003-01-13 00:52:43 +00:00
Chris Lattner 7c0f86233f Fix compilation on GCC 3.2
llvm-svn: 5136
2002-12-24 00:44:34 +00:00
Chris Lattner de4aa4cf8c New files for miscompilation detection
llvm-svn: 5120
2002-12-23 23:50:16 +00:00
Chris Lattner 3ef3fdf837 Fix bug
llvm-svn: 4942
2002-12-06 04:42:16 +00:00
Chris Lattner 3e6e191e39 Allow printing partially constructed bitsets
llvm-svn: 4941
2002-12-06 04:42:10 +00:00
Chris Lattner 7e73168939 Don't delete values that may still be referenced!
llvm-svn: 4940
2002-12-06 04:02:48 +00:00
Chris Lattner 07f1535894 Tighten up assertion checking
llvm-svn: 4939
2002-12-06 03:55:39 +00:00
Chris Lattner 1d7d4f64c4 Add code that can be used for debugging
llvm-svn: 4888
2002-12-03 20:01:04 +00:00
Chris Lattner 9aa0b12f0a Continue implementing field initializers
llvm-svn: 4879
2002-12-03 06:00:33 +00:00
Chris Lattner ab50fb4b2e Don't delete temporary files
llvm-svn: 4878
2002-12-03 06:00:11 +00:00
Misha Brukman d88181ead1 Ignore generated files gram.tab.c and gram.tab.h
llvm-svn: 4862
2002-12-02 21:15:37 +00:00
Misha Brukman 03628c6e16 Ignore generated files FileLexer.* and FileParser.*
llvm-svn: 4860
2002-12-02 21:13:59 +00:00
Chris Lattner 1a025e25ef Continued support for field intitializers
llvm-svn: 4855
2002-12-02 17:53:54 +00:00
Chris Lattner 92f18611f6 Continued support for field initializer
llvm-svn: 4854
2002-12-02 17:44:35 +00:00
Chris Lattner 522ba615f6 Continued support for Field Initializer
llvm-svn: 4853
2002-12-02 17:43:58 +00:00
Chris Lattner 72969922ea Adjustments due to new FieldInit stuff
llvm-svn: 4852
2002-12-02 17:43:43 +00:00
Chris Lattner b8ecdceb87 Add comments, factor out common code
llvm-svn: 4851
2002-12-02 16:57:01 +00:00
Chris Lattner 97984b1d5d Add support for field exprs
llvm-svn: 4850
2002-12-02 16:43:43 +00:00
Chris Lattner 3567880e6e * Move BitsInit::resolveReferences up with the rest of BitsInit code
* Initial support for field expressions

llvm-svn: 4849
2002-12-02 16:43:30 +00:00
Chris Lattner ae2bed976c Initial support for Field Expressions
llvm-svn: 4848
2002-12-02 16:42:52 +00:00
Chris Lattner 8eb531cd55 Add correct dependency
llvm-svn: 4847
2002-12-02 16:31:46 +00:00
Chris Lattner 6f19b1b6c4 Split up targets
llvm-svn: 4846
2002-12-02 16:13:42 +00:00
Chris Lattner 5d850ddb5c Add comments
llvm-svn: 4845
2002-12-02 16:13:23 +00:00
Chris Lattner a6240f6b1a Initial checkin of TableGen utility
llvm-svn: 4843
2002-12-02 01:23:04 +00:00
Chris Lattner f96a218932 Add peak memory usage measurement capability
Add (currently disabled) faciility to try to filter out pool allocation overhead from memory usage stats

llvm-svn: 4753
2002-11-18 21:47:09 +00:00
Chris Lattner 2ce8c6890b Simplify code
llvm-svn: 4547
2002-11-04 21:06:54 +00:00
Chris Lattner d8be7b01f9 Sun can now use mallinfo()
llvm-svn: 4546
2002-11-04 21:05:21 +00:00
Chris Lattner 32856be0f0 Allow memory sizes to be negative, remove obsolete TmpRSS field
llvm-svn: 4538
2002-11-04 19:19:36 +00:00
Chris Lattner 203be1a568 mallinfo is not available on sun apparently :(
llvm-svn: 4537
2002-11-04 19:01:41 +00:00
Chris Lattner ee792946bb Minor fix to space accounting
llvm-svn: 4520
2002-11-04 01:49:45 +00:00
Chris Lattner 559f5118d1 Implement MaxRSS in terms of mallinfo instead of the system RSS. This gives
us much more accurate numbers and actually WORKS.

llvm-svn: 4518
2002-11-04 00:32:44 +00:00
Chris Lattner 3832014b29 Fix burg build problem.
llvm-svn: 4480
2002-11-01 03:16:45 +00:00
Chris Lattner c98c871617 Add #include
llvm-svn: 4291
2002-10-27 19:08:03 +00:00
Chris Lattner 371ce74737 Work better with other versions of bison
llvm-svn: 4290
2002-10-27 19:06:56 +00:00
Anand Shukla b8aef8eff8 Added #include<unistd.h> to compile with solaris gcc3.2
llvm-svn: 4042
2002-10-04 23:57:01 +00:00
Anand Shukla 195d3fb37f added cast to unsigned to compile with gcc3.2 (sparc)
llvm-svn: 4041
2002-10-04 23:56:18 +00:00
Chris Lattner c758fe6b72 - 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.

llvm-svn: 3999
2002-10-01 22:35:45 +00:00
Chris Lattner 6dad11f6c0 Checkin generic interval timer support
llvm-svn: 3992
2002-10-01 19:36:54 +00:00
Chris Lattner 75246ec78d Clean up dead rules
llvm-svn: 3875
2002-09-22 02:41:20 +00:00
Chris Lattner 8f07f947cf Fix tons of warnings, convert burg to use Makefile.common system, rename
gram.y to gram.yc so that we don't try to turn it into a .cpp file.

llvm-svn: 3874
2002-09-22 02:40:40 +00:00
Vikram S. Adve 321f83d8d8 Build burg separately for different architectures.
llvm-svn: 3861
2002-09-20 16:14:47 +00:00
Vikram S. Adve 968a4af907 Include our config and system-specific Makefiles to get the
right compilers and paths.

llvm-svn: 3852
2002-09-20 13:56:32 +00:00
Chris Lattner 1550ba2bc5 Add an optimization to support the most common access pattern for the
library.  This speeds debug builds up significantly.

llvm-svn: 3826
2002-09-19 19:22:11 +00:00
Chris Lattner bfc1cc2d65 TEst commit
llvm-svn: 3791
2002-09-17 23:22:31 +00:00
Chris Lattner 8daf4d56e2 Test commit
llvm-svn: 3790
2002-09-17 23:20:47 +00:00
Chris Lattner 1d495576cc Test change
llvm-svn: 3789
2002-09-17 23:19:46 +00:00
Chris Lattner 23076668f0 We need an 'all' target to build burg, add it back
llvm-svn: 3788
2002-09-17 23:19:14 +00:00
Chris Lattner a4064a63a4 Don't run tests by default
llvm-svn: 3787
2002-09-17 23:04:24 +00:00
Chris Lattner b8f3fab589 Initial checkin of burg documetnation files
llvm-svn: 3786
2002-09-17 23:03:35 +00:00
Chris Lattner 462a4db83d Initial checkin of burg files
llvm-svn: 3785
2002-09-17 23:03:30 +00:00
Chris Lattner 2c97c2ccff Submitted by Casey Carter:
ISSUE: Linux doesn't have any steenking SIGEMT signal, as referred to in
lib/Support/Signals.cpp.

ACTION: Wrap the use with a #ifdef SIGEMT / #endif.
llvm-svn: 3700
2002-09-13 14:57:24 +00:00
Chris Lattner da7daf76a4 Remove extra #include
llvm-svn: 3652
2002-09-10 15:43:30 +00:00
Chris Lattner 4f986cebfd Checkin initial support for automatic memory leak detection routines
llvm-svn: 3618
2002-09-08 18:51:16 +00:00
Chris Lattner d4645902e6 Minor bug fix.
llvm-svn: 3577
2002-09-03 23:12:40 +00:00
Chris Lattner 5d2bce8555 Fix bugs
llvm-svn: 3569
2002-09-02 20:49:27 +00:00
Chris Lattner e0bb9ebc6d Add printing support to ConstantRange class
llvm-svn: 3565
2002-09-02 00:18:22 +00:00
Chris Lattner 113f2aec70 Initial implementation of ConstantRange support
llvm-svn: 3563
2002-09-01 23:53:36 +00:00
Chris Lattner b4101b1373 Simplify writing custom parsers.
llvm-svn: 3256
2002-08-07 18:36:37 +00:00
Chris Lattner 551e12055d Fix lli with no arguments
llvm-svn: 3226
2002-08-02 21:51:29 +00:00
Chris Lattner 150e46b679 Fix bug that was causing problems for lli
llvm-svn: 3176
2002-07-31 16:29:43 +00:00
Chris Lattner 1f790afad8 * Fix assertion failure caused by command line argument getting removed after
the map was freed.
* Cleanup code a bit

llvm-svn: 3121
2002-07-29 20:58:42 +00:00
Chris Lattner e04258db39 Remove needless #include
llvm-svn: 3117
2002-07-27 05:25:29 +00:00
Chris Lattner 10073a9080 *** empty log message ***
llvm-svn: 3075
2002-07-25 06:17:51 +00:00
Chris Lattner 48014b7f37 Fix problem that GCC3.1 doesn't like.
llvm-svn: 3050
2002-07-24 20:17:22 +00:00
Chris Lattner ca0e79eaa0 Fix a bug exposed by lli
llvm-svn: 3049
2002-07-24 20:15:13 +00:00
Chris Lattner 2c54a0db79 Initial checkin
llvm-svn: 3005
2002-07-23 17:56:53 +00:00
Chris Lattner a896b08b5c *** empty log message ***
llvm-svn: 3002
2002-07-23 17:52:38 +00:00
Chris Lattner 494c0b07de *** empty log message ***
llvm-svn: 2999
2002-07-23 17:15:12 +00:00
Chris Lattner d49ea88488 Minor bugfix, prevents error in LLI
llvm-svn: 2989
2002-07-22 02:21:57 +00:00
Chris Lattner f5cad15a67 *** empty log message ***
llvm-svn: 2985
2002-07-22 02:10:13 +00:00
Chris Lattner 5df56c47fc Checkin CommandLine 2.0
llvm-svn: 2982
2002-07-22 02:07:59 +00:00
Anand Shukla 458496c060 changes to make it compatible with 64bit gcc
llvm-svn: 2791
2002-06-25 20:55:50 +00:00
Chris Lattner 0a5aca621a Fix const problems
llvm-svn: 2760
2002-06-05 17:55:27 +00:00
Chris Lattner 5184bdc596 Implement a new command line option, -debug, which is meant to unify all of
the random debugging macros scattered throughout llvm.

The new DEBUG(x) macro should be used instead of special purpose debug macros.

llvm-svn: 2709
2002-05-22 17:06:20 +00:00
Chris Lattner 8f7b500fff Add ability to update existing variables with values read from the command line
to certain classes.  This is nice because it means that in header files we can
just declare a value, and still have that value be set based on a command-line
argument.  The difference is now that the #include of CommandLine.h does not
need to go into the header file as well.

llvm-svn: 2708
2002-05-22 17:03:05 +00:00
Chris Lattner 9eb0052548 Initial checkin of Statistic class.
llvm-svn: 2598
2002-05-10 15:36:46 +00:00
Chris Lattner d5a847057b Eliminate duplicate or unneccesary #include's
llvm-svn: 2397
2002-04-29 17:42:12 +00:00
Chris Lattner 1c2329ade3 Add new api for basic signal handling for tools
llvm-svn: 2302
2002-04-18 19:53:53 +00:00
Chris Lattner e2f2f54f0c s/MethodType/FunctionType
llvm-svn: 2115
2002-04-04 22:19:18 +00:00
Chris Lattner 2294b4ee27 64 bit clean now
llvm-svn: 1789
2002-02-24 23:02:12 +00:00