Commit Graph

6939 Commits

Author SHA1 Message Date
Chris Lattner 802b0e2a6e Check in the implementation of the FileUtilities!
llvm-svn: 7487
2003-08-01 21:16:14 +00:00
Chris Lattner 7700cb6cd2 Tablegen should only replace the output if it changes
llvm-svn: 7486
2003-08-01 20:35:01 +00:00
Chris Lattner c0eb77c24c Remove makefile complexity by always running tablegen with its final output
directory.

llvm-svn: 7485
2003-08-01 20:34:56 +00:00
Chris Lattner aa997fbbca Use the new FileUtilities library to do diff'ing of files
llvm-svn: 7484
2003-08-01 20:29:45 +00:00
Chris Lattner 238ec53e70 Use the C++, more portable, deleter
llvm-svn: 7483
2003-08-01 20:29:18 +00:00
Chris Lattner d32fe2e592 New file
llvm-svn: 7482
2003-08-01 20:28:55 +00:00
Chris Lattner 74fa70bc51 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 958f47b9f7 Move #include from a header to here
llvm-svn: 7480
2003-08-01 19:16:29 +00:00
Chris Lattner 607eaaba5f This file doesn't need this include
llvm-svn: 7479
2003-08-01 19:16:18 +00:00
Chris Lattner 335c51afdf Don't emit modules with lots of cruft hanging off of them.
llvm-svn: 7478
2003-08-01 16:14:33 +00:00
Chris Lattner f7e125403b Parameterize the performFinalCleanups a bit
llvm-svn: 7477
2003-08-01 16:13:49 +00:00
Vikram S. Adve 89f9397668 Add all arithmetic operators to ConstantExprToString().
Note that some generated operators (like &, | or ^) may
not be supported by the assembler -- but if they've got
this far, it's better to generate them and let the assembler decide.

llvm-svn: 7476
2003-08-01 15:55:53 +00:00
Vikram S. Adve 16c2b62d13 *Both* operands of divide need sign-extension before divide (if smaller
than machine register size), not just the second operand.

llvm-svn: 7475
2003-08-01 15:54:38 +00:00
Vikram S. Adve 36fcc5d8b3 Put back the separate pass to decompose multi-dimensional references
since it is *necessary* for correct code generation.  Only optional
transformations belong in the PreOpts pass (which needs to be renamed
from PreSelection to PreOpts).

llvm-svn: 7474
2003-08-01 15:53:24 +00:00
Chris Lattner 463b279aad add support for emitting register classes
llvm-svn: 7473
2003-08-01 06:27:59 +00:00
Chris Lattner a295902d00 Add new getValueAsListInit and getValueAsInt methods
llvm-svn: 7472
2003-08-01 06:15:10 +00:00
Chris Lattner a22b48d2a3 Add the ability to emit register file enums
llvm-svn: 7471
2003-08-01 05:59:20 +00:00
Chris Lattner cf268a5060 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 75c817a482 encode size information into each ValueType
Add new RegisterInfo class

llvm-svn: 7469
2003-08-01 05:18:03 +00:00
Chris Lattner 0ef2353b01 Dead code elimination
llvm-svn: 7468
2003-08-01 04:47:20 +00:00
Chris Lattner 2e69d4a1e8 Add new getValueAsBitsInit 'high-level' method
llvm-svn: 7467
2003-08-01 04:46:24 +00:00
Chris Lattner 1f2f5c8392 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 8d99a76d55 Initial checkin of register info emitter
llvm-svn: 7465
2003-08-01 04:38:38 +00:00
Chris Lattner ecca290a2a Simplify code to match new interfaces
llvm-svn: 7464
2003-08-01 04:38:18 +00:00
Chris Lattner 330808bd91 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 fc6e266410 Minor cleanups
llvm-svn: 7462
2003-08-01 04:15:25 +00:00
Chris Lattner f62c489e35 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 238dadc37c This method is long dead
llvm-svn: 7460
2003-08-01 03:48:42 +00:00
John Criswell 02b513c78c Removed the -only-static option as it is no longer required (and didn't work
with the newer version of libtool anyway).

llvm-svn: 7459
2003-07-31 20:59:32 +00:00
John Criswell 3601f37b0f Modified the use of libtool so that we don't compile every file twice.
This can be done using the disable-shared tag that comes with libtool.
This change also required changing how .o libraries are linked.

llvm-svn: 7458
2003-07-31 20:58:51 +00:00
Chris Lattner c4bbc7109d 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 eaee325932 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 a0e679e299 Remove more obsolete comments
llvm-svn: 7455
2003-07-31 17:56:05 +00:00
Misha Brukman d02051b512 Changed pointer to the JIT code to its current location, under LLI.
llvm-svn: 7454
2003-07-31 17:50:35 +00:00
Chris Lattner 9fabe8dddf Unbreak the CBE output
llvm-svn: 7453
2003-07-31 17:47:24 +00:00
Brian Gaeke a2d9f40693 I think local symbols in X86 GAS have to start with .L, not just
.; so I have changed the basic block markers to start with .L.  I also
broke up a >80char line.

llvm-svn: 7452
2003-07-31 17:38:52 +00:00
John Criswell 7e54f8f3bf Changed the default location of OBJ_ROOT to follow these rules:
1. If USER is defined and localhome/$USER is a directory, set OBJ_ROOT
	   to /localhome/$USER
	2. Otherwise, set OBJ_ROOT to .
This should hopefully fix the nightly tester.

llvm-svn: 7451
2003-07-31 16:45:37 +00:00
Chris Lattner 121a128d40 Forget about KEEP_SYMBOLS, make sure to build into the temp directory, not into localhome
llvm-svn: 7450
2003-07-31 16:05:11 +00:00
John Criswell 6e264f078a Modified the code so that it generates (0) for setjmp() and abort() for
longjmp() (and does not include setjmp.h).
This is to fix some problems on Sparc while non-local jumps are still
unimplemented.

llvm-svn: 7449
2003-07-31 15:11:08 +00:00
Tanya Lattner aab262210c Renamed trapping instruction function to be more consistent with other functions in the file.
llvm-svn: 7448
2003-07-31 05:08:02 +00:00
Tanya Lattner f8c563f76c *** empty log message ***
llvm-svn: 7447
2003-07-31 05:06:09 +00:00
Chris Lattner c69df616b8 More minor cleanups of the interface
llvm-svn: 7446
2003-07-31 04:43:49 +00:00
Chris Lattner c5b306b4b9 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 4ee57983bd Add file comment
llvm-svn: 7444
2003-07-31 04:37:57 +00:00
Chris Lattner c33ca30544 Tighten up interface
llvm-svn: 7443
2003-07-31 04:32:37 +00:00
Tanya Lattner a93c7aeb7e Added function to determine if an Instruction may trap.
llvm-svn: 7442
2003-07-31 04:05:50 +00:00
Chris Lattner 2b3ac6be6a Add comments
Make the register classes optionally take code fragments for allocation_order_*

llvm-svn: 7441
2003-07-30 22:16:41 +00:00
Chris Lattner 34d10a1aab Add support for code fragments
llvm-svn: 7440
2003-07-30 22:15:58 +00:00
Chris Lattner 284136170e Initial support for the 'code' type.
llvm-svn: 7439
2003-07-30 21:47:42 +00:00
Misha Brukman 7d9632896d Ignore intrinsic functions -- don't mangle their names or rewrite calls to them.
llvm-svn: 7438
2003-07-30 21:45:20 +00:00