1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-30 07:22:55 +01:00
Commit Graph

327 Commits

Author SHA1 Message Date
Chris Lattner
2703e94187 Update file header comment
llvm-svn: 7574
2003-08-04 20:08:28 +00:00
Chris Lattner
201fc86380 Transition complete, remove the obsolete 'set' keyword
llvm-svn: 7566
2003-08-04 05:04:52 +00:00
Chris Lattner
9a2d2efde6 Start transitioning towards using 'let X = y in' statements, instead of 'set X = y in'.
llvm-svn: 7562
2003-08-04 04:56:53 +00:00
Chris Lattner
c1af65d65b It appears that somehow we forgot to add support for code variables.
Fix bug: TableGen/2003-08-03-PassCode.td

llvm-svn: 7561
2003-08-04 04:53:50 +00:00
Chris Lattner
05433f0237 Add initial support for a new 'dag' type
llvm-svn: 7559
2003-08-04 04:50:57 +00:00
Chris Lattner
fadbc381f7 Allow registers to specify a custom name
llvm-svn: 7548
2003-08-03 22:14:50 +00:00
Chris Lattner
fae79216c2 add new --gen-instr-desc option
llvm-svn: 7545
2003-08-03 21:58:28 +00:00
Chris Lattner
293526d393 Add new Record::getValueAsBit method
llvm-svn: 7544
2003-08-03 21:58:13 +00:00
Chris Lattner
f96dd9f6eb Finish the instruction info emitter
llvm-svn: 7543
2003-08-03 21:57:51 +00:00
Chris Lattner
57808fae3c Fix bug: TableGen/IntBitInit.td
llvm-svn: 7526
2003-08-03 18:29:51 +00:00
Chris Lattner
72a80806ae Fix bug: TableGen/BitsInitOverflow.td
llvm-svn: 7524
2003-08-03 18:24:34 +00:00
Chris Lattner
3f39b91aea * Changes to allow lists of any type
* Reorganize Target class a bit
* Fix string out of range access bug

llvm-svn: 7520
2003-08-03 18:17:54 +00:00
Chris Lattner
1ac2b1fc64 Changes to allow lists of any type
llvm-svn: 7519
2003-08-03 18:17:22 +00:00
Chris Lattner
dbd949c104 expand contraction
llvm-svn: 7518
2003-08-03 18:12:59 +00:00
Chris Lattner
a77770863c Add support for instruction enum emission
llvm-svn: 7516
2003-08-03 17:24:20 +00:00
Chris Lattner
b31cc24b40 Initial checkin of Instruction emitter, which just produces enum values so far
llvm-svn: 7515
2003-08-03 17:24:10 +00:00
Chris Lattner
4d4ec297c6 Remove dead private:
llvm-svn: 7514
2003-08-03 16:30:24 +00:00
Chris Lattner
466bf34821 Make the register numbers line up more frequently
llvm-svn: 7508
2003-08-03 15:40:38 +00:00
Chris Lattner
6a31322326 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.

llvm-svn: 7507
2003-08-03 13:58:01 +00:00
Chris Lattner
49f28ba16a Finish the register info emitter
llvm-svn: 7506
2003-08-03 13:52:02 +00:00
Chris Lattner
3c8273e9ad Add new method
llvm-svn: 7502
2003-08-02 01:27:37 +00:00
Chris Lattner
ef90e1b189 Move debug functionality to Debug.cpp/Debug.h
llvm-svn: 7494
2003-08-01 22:15:41 +00:00
Chris Lattner
89bf5d3a60 Describe the value name
llvm-svn: 7493
2003-08-01 22:15:15 +00:00
Chris Lattner
64fade1536 DEBUG got moved to Debug.h
llvm-svn: 7491
2003-08-01 22:13:59 +00:00
Chris Lattner
aa22e98e56 Check in the implementation of the FileUtilities!
llvm-svn: 7487
2003-08-01 21:16:14 +00:00
Chris Lattner
d579de745e Tablegen should only replace the output if it changes
llvm-svn: 7486
2003-08-01 20:35:01 +00:00
Chris Lattner
cba4e65559 Use the C++, more portable, deleter
llvm-svn: 7483
2003-08-01 20:29:18 +00:00
Chris Lattner
55c9211b80 Make sure to delete the output file if there is an error
llvm-svn: 7481
2003-08-01 19:21:43 +00:00
Chris Lattner
346760c6cb Move #include from a header to here
llvm-svn: 7480
2003-08-01 19:16:29 +00:00
Chris Lattner
a25a717a5e add support for emitting register classes
llvm-svn: 7473
2003-08-01 06:27:59 +00:00
Chris Lattner
6320cb3946 Add new getValueAsListInit and getValueAsInt methods
llvm-svn: 7472
2003-08-01 06:15:10 +00:00
Chris Lattner
5d390a3dcf Add the ability to emit register file enums
llvm-svn: 7471
2003-08-01 05:59:20 +00:00
Chris Lattner
c4d544ddd6 Fix the way field bit references are resolved, also allow resolution of field references overall!
llvm-svn: 7470
2003-08-01 05:58:58 +00:00
Chris Lattner
97eebed243 Dead code elimination
llvm-svn: 7468
2003-08-01 04:47:20 +00:00
Chris Lattner
0177241fa7 Add new getValueAsBitsInit 'high-level' method
llvm-svn: 7467
2003-08-01 04:46:24 +00:00
Chris Lattner
fca9789b2c Add file comment
Add register info emitter
Simplify code by using "high-level" methods.

llvm-svn: 7466
2003-08-01 04:39:05 +00:00
Chris Lattner
601f250872 Initial checkin of register info emitter
llvm-svn: 7465
2003-08-01 04:38:38 +00:00
Chris Lattner
0fe4e3f82a Simplify code to match new interfaces
llvm-svn: 7464
2003-08-01 04:38:18 +00:00
Chris Lattner
135e8e0151 Switch over to an exception handling model for "high-level" requests.
Add new getValueAsString method.

llvm-svn: 7463
2003-08-01 04:37:57 +00:00
Chris Lattner
e83294921c Minor cleanups
llvm-svn: 7462
2003-08-01 04:15:25 +00:00
Chris Lattner
440f33e964 Factor code out into a new getAllDerivedDefinitions method, which is generally useful
llvm-svn: 7461
2003-08-01 04:09:58 +00:00
Chris Lattner
5d1a43bb60 Fix the JIT in the Nightly tester. This was not a fun bug to track down.
See the comments in the patch for details.

llvm-svn: 7457
2003-07-31 19:38:34 +00:00
Chris Lattner
12defed07e Trivial cleanups: no need to include header twice. Global variable is local to file
llvm-svn: 7456
2003-07-31 19:31:21 +00:00
Chris Lattner
227005d189 More minor cleanups of the interface
llvm-svn: 7446
2003-07-31 04:43:49 +00:00
Chris Lattner
1283b2a07c Rename createEmitter to run because eventually all tablegen backends will
be subclasses of a common interface.

llvm-svn: 7445
2003-07-31 04:38:26 +00:00
Chris Lattner
50a3c83896 Add file comment
llvm-svn: 7444
2003-07-31 04:37:57 +00:00
Chris Lattner
2ec4944d3a Tighten up interface
llvm-svn: 7443
2003-07-31 04:32:37 +00:00
Chris Lattner
291b42e5ad Add support for code fragments
llvm-svn: 7440
2003-07-30 22:15:58 +00:00
Chris Lattner
36def4610b Initial support for the 'code' type.
llvm-svn: 7439
2003-07-30 21:47:42 +00:00
Chris Lattner
57e07e2448 Move err() to the lexer, implement file inclusion capabilities directly in tblgen
llvm-svn: 7436
2003-07-30 20:56:47 +00:00
Chris Lattner
bf4883148a Minor reorganization, move ParseFile to the lexer
llvm-svn: 7432
2003-07-30 19:55:10 +00:00
Chris Lattner
28dc5d843c 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
5a67c69120 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
78f944d347 Add support for "named positional arguments"
llvm-svn: 7421
2003-07-30 17:34:02 +00:00
Chris Lattner
5c843c7ace 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
8092d1b32c 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
e5967952c9 Implement TODO: disallow 'def's with template arguments.
llvm-svn: 7409
2003-07-30 04:31:17 +00:00
Chris Lattner
ef05094872 Allow specification of anonymous definitions
llvm-svn: 7408
2003-07-30 04:26:44 +00:00
Chris Lattner
5ef4c8804e Allow passing lists through variables
llvm-svn: 7407
2003-07-30 04:16:52 +00:00
Chris Lattner
27b2f9e7c2 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
b964a87dfe 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
bbfad09fa9 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
3ed1a8d26b 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
590c74e14d Allow initializing variable initializers with variables
llvm-svn: 7354
2003-07-28 03:39:57 +00:00
Brian Gaeke
991f66b7e2 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
89596df8dd Use C++ headers, not C headers
llvm-svn: 7308
2003-07-25 17:32:51 +00:00
Brian Gaeke
d9979a5529 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
e5ae59ad05 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
6ad460b336 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
8a57ef8390 Added a DEBUG() guard to a debug information printout.
llvm-svn: 7203
2003-07-18 18:03:45 +00:00
Misha Brukman
d0f2196d2e 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
414c95141f 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
5de3e14206 The word separate' only has one e'.
llvm-svn: 7173
2003-07-14 17:20:40 +00:00
Misha Brukman
74d17238cb Fixed grammatical error.
llvm-svn: 7160
2003-07-10 21:38:28 +00:00
Misha Brukman
c12238543a Lowercase versions of `occurrence' need to be spelled correctly, too.
llvm-svn: 7142
2003-07-10 17:05:26 +00:00
Misha Brukman
14194dcdae Occurrence' has no a' and the `r' is doubled.
llvm-svn: 7140
2003-07-10 16:49:51 +00:00
Misha Brukman
73f1bbeecd 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
258dfc0319 Merged in autoconf branch. This provides configuration via the autoconf
system.

llvm-svn: 7014
2003-06-30 21:59:07 +00:00
Chris Lattner
4d3ee0f3b1 Add support for 'unsigned' command line arguments
llvm-svn: 6928
2003-06-28 15:47:20 +00:00
John Criswell
6fc4a480f3 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
ef97ca721a Remove usage of sys/unistd.h
llvm-svn: 6788
2003-06-19 18:42:09 +00:00
Brian Gaeke
f35ca29abc 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
b23ae4483e 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
493103ea3b 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
9fa396e6c7 Remove usage of alloca
llvm-svn: 6726
2003-06-16 22:22:11 +00:00
Brian Gaeke
4681b27a92 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
5d5d0787d1 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
7ac52038b0 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
51bbe7b282 Old versions of GCC doesn't have <ostream> :(
llvm-svn: 6661
2003-06-06 23:06:20 +00:00
Chris Lattner
68ee069591 Fix compilation problem with some versions of G++
llvm-svn: 6660
2003-06-06 22:13:01 +00:00
Chris Lattner
5e34712b08 Fix problem with perror
llvm-svn: 6659
2003-06-06 21:09:29 +00:00
Misha Brukman
545d95e475 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
de307f15d4 * 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
b35f33f39e Spiff up options a bit
llvm-svn: 6573
2003-06-03 05:07:28 +00:00
Chris Lattner
3d2a9dcc14 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
5531141028 Make tablegen use more structured command line options
llvm-svn: 6570
2003-06-03 04:56:29 +00:00
Misha Brukman
58aeba1c5f 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
62904a1538 getValueOp() now takes a MachineInstr as well as a MachineOperand.
llvm-svn: 6450
2003-05-30 20:32:01 +00:00
Misha Brukman
59ea121b52 Output the opcode name of the instruction being emitted to cerr.
llvm-svn: 6386
2003-05-28 18:29:10 +00:00
Misha Brukman
6c51fb5dd1 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
170b9ffe76 * 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
6796f5a374 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
25b8510b7e Add ability to utilize the code emitter generator (CodeEmitterGen).
llvm-svn: 6322
2003-05-24 00:17:12 +00:00
Misha Brukman
be1457481b First cut at the Code Generator using the TableGen methodology.
llvm-svn: 6321
2003-05-24 00:15:53 +00:00
Chris Lattner
aaf60fb906 Remove long dead code
llvm-svn: 6307
2003-05-22 22:00:54 +00:00
Chris Lattner
6751acb59b Add using declarations
llvm-svn: 6305
2003-05-22 21:59:35 +00:00
Chris Lattner
7099c87692 Add new CommaSeparated option modifier
llvm-svn: 6294
2003-05-22 20:26:17 +00:00
Chris Lattner
802d657a39 Destroy using declarations
llvm-svn: 6291
2003-05-22 20:06:43 +00:00
Misha Brukman
7af77acec0 I fixed that ``thang'', yo.
llvm-svn: 6252
2003-05-20 23:45:36 +00:00
Chris Lattner
805f8d646e 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
57bc07ffc3 Update to work with newer versions of bison
llvm-svn: 5762
2003-03-31 21:26:06 +00:00
Chris Lattner
9efc110b12 Make more compatible with GCC 2.96
llvm-svn: 5550
2003-02-13 16:25:28 +00:00
Chris Lattner
34094ff7e3 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
bf2c5b238f Don't output times in "scientific" notation
llvm-svn: 5544
2003-02-12 19:02:13 +00:00
Chris Lattner
ae91295cfa Remove the -debug option from release executables
llvm-svn: 5521
2003-02-09 21:13:57 +00:00
Chris Lattner
8088c79d39 Squelch warning
llvm-svn: 5494
2003-02-05 21:44:28 +00:00
Chris Lattner
bedb4f4a83 * 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
649a63bd45 Fix build problem on sparc
llvm-svn: 5428
2003-01-29 18:15:34 +00:00
Chris Lattner
8ceda40a94 Fix warning on sparc
llvm-svn: 5426
2003-01-29 16:26:46 +00:00
Chris Lattner
720592e011 Fix warnings
llvm-svn: 5377
2003-01-20 06:19:18 +00:00
Chris Lattner
ab69d9da2f Move annotation to support library
llvm-svn: 5268
2003-01-14 21:29:58 +00:00
Chris Lattner
801b1a9ddc Fix static initializer ordering dependency
llvm-svn: 5236
2003-01-13 00:52:43 +00:00
Chris Lattner
1214348847 Fix compilation on GCC 3.2
llvm-svn: 5136
2002-12-24 00:44:34 +00:00
Chris Lattner
2af84f79e3 New files for miscompilation detection
llvm-svn: 5120
2002-12-23 23:50:16 +00:00
Chris Lattner
48b0c706a4 Fix bug
llvm-svn: 4942
2002-12-06 04:42:16 +00:00
Chris Lattner
3e112b9973 Allow printing partially constructed bitsets
llvm-svn: 4941
2002-12-06 04:42:10 +00:00
Chris Lattner
80ba7cbffc Don't delete values that may still be referenced!
llvm-svn: 4940
2002-12-06 04:02:48 +00:00
Chris Lattner
b20f8a3d5d Tighten up assertion checking
llvm-svn: 4939
2002-12-06 03:55:39 +00:00
Chris Lattner
173aae3f70 Add code that can be used for debugging
llvm-svn: 4888
2002-12-03 20:01:04 +00:00
Chris Lattner
d07b76e83a Continue implementing field initializers
llvm-svn: 4879
2002-12-03 06:00:33 +00:00
Chris Lattner
15cd2a0edb Don't delete temporary files
llvm-svn: 4878
2002-12-03 06:00:11 +00:00
Misha Brukman
2c0ee80414 Ignore generated files gram.tab.c and gram.tab.h
llvm-svn: 4862
2002-12-02 21:15:37 +00:00
Misha Brukman
67923fb2cd Ignore generated files FileLexer.* and FileParser.*
llvm-svn: 4860
2002-12-02 21:13:59 +00:00
Chris Lattner
1a4dddb269 Continued support for field intitializers
llvm-svn: 4855
2002-12-02 17:53:54 +00:00
Chris Lattner
29f8466be1 Continued support for field initializer
llvm-svn: 4854
2002-12-02 17:44:35 +00:00
Chris Lattner
b3385a75b7 Continued support for Field Initializer
llvm-svn: 4853
2002-12-02 17:43:58 +00:00
Chris Lattner
09e5402d2f Adjustments due to new FieldInit stuff
llvm-svn: 4852
2002-12-02 17:43:43 +00:00
Chris Lattner
8c9131ede0 Add comments, factor out common code
llvm-svn: 4851
2002-12-02 16:57:01 +00:00
Chris Lattner
f04515fec4 Add support for field exprs
llvm-svn: 4850
2002-12-02 16:43:43 +00:00
Chris Lattner
42ea6fe801 * 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
b05511cde1 Initial support for Field Expressions
llvm-svn: 4848
2002-12-02 16:42:52 +00:00
Chris Lattner
c0794f940a Add correct dependency
llvm-svn: 4847
2002-12-02 16:31:46 +00:00
Chris Lattner
5f7c43d3d5 Split up targets
llvm-svn: 4846
2002-12-02 16:13:42 +00:00
Chris Lattner
442ad12dff Add comments
llvm-svn: 4845
2002-12-02 16:13:23 +00:00
Chris Lattner
8f9112b1bb Initial checkin of TableGen utility
llvm-svn: 4843
2002-12-02 01:23:04 +00:00
Chris Lattner
8118f6db93 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
fe090b7d1f Simplify code
llvm-svn: 4547
2002-11-04 21:06:54 +00:00
Chris Lattner
45a7acb725 Sun can now use mallinfo()
llvm-svn: 4546
2002-11-04 21:05:21 +00:00
Chris Lattner
da3f2f6133 Allow memory sizes to be negative, remove obsolete TmpRSS field
llvm-svn: 4538
2002-11-04 19:19:36 +00:00
Chris Lattner
33a0632b24 mallinfo is not available on sun apparently :(
llvm-svn: 4537
2002-11-04 19:01:41 +00:00