1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 20:12:56 +02:00
Commit Graph

7132 Commits

Author SHA1 Message Date
Chris Lattner
346760c6cb Move #include from a header to here
llvm-svn: 7480
2003-08-01 19:16:29 +00:00
Chris Lattner
2e42e72132 This file doesn't need this include
llvm-svn: 7479
2003-08-01 19:16:18 +00:00
Chris Lattner
d2ef0a77d5 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
ef04e86804 Parameterize the performFinalCleanups a bit
llvm-svn: 7477
2003-08-01 16:13:49 +00:00
Vikram S. Adve
eda4d9cb09 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
b68bd55363 *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
4576ae1530 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
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
d96b821c8a encode size information into each ValueType
Add new RegisterInfo class

llvm-svn: 7469
2003-08-01 05:18:03 +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
8dce81478f This method is long dead
llvm-svn: 7460
2003-08-01 03:48:42 +00:00
John Criswell
8bf3d9e393 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
e5f28ccd36 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
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
79a56ff370 Remove more obsolete comments
llvm-svn: 7455
2003-07-31 17:56:05 +00:00
Misha Brukman
f451b1f332 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
93dacfb0bd Unbreak the CBE output
llvm-svn: 7453
2003-07-31 17:47:24 +00:00
Brian Gaeke
4449b3c963 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
697dd6e48e 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
21b4d8ee69 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
9610326d63 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
f3da6ac76f 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
26f6e3b353 *** empty log message ***
llvm-svn: 7447
2003-07-31 05:06:09 +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
Tanya Lattner
8c2ac118ce Added function to determine if an Instruction may trap.
llvm-svn: 7442
2003-07-31 04:05:50 +00:00
Chris Lattner
d1b7716c86 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
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
Misha Brukman
e9565593a6 Ignore intrinsic functions -- don't mangle their names or rewrite calls to them.
llvm-svn: 7438
2003-07-30 21:45:20 +00:00
Chris Lattner
51504820c7 We no longer need to preprocess SparcV9.td before sending it through tablegen
llvm-svn: 7437
2003-07-30 21:00:37 +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
063010fc6c Add test of file inclusion capability for bugpoint
llvm-svn: 7435
2003-07-30 20:55:37 +00:00
Misha Brukman
3c2462bb76 CodeGeneratorBug.cpp:
* Temporarily externing InputArgv to print it out for the benefit of LLI command
  needed to reproduce the result.
* Print out the list of functions currently being tested
* ListReducer now returns a bool if there was a failure, so test for it

ListReducer.h:
* Handle the case where there is no problem by returning true if failure is
  found. Also correctly handles the case when there is only 1 pass/function.

Miscompilation.cpp:
* ListReducer now returns a bool if there was a failure, so test for it

llvm-svn: 7434
2003-07-30 20:15:56 +00:00
Misha Brukman
10e9e036c2 * Moved InputArgv out of anonymous scope to be extern'd in another file.
* Added DEBUG() statements to print out parameters passed to executing programs
* Actually ADD parameters to a program running via the JIT (using vector<char*>)

llvm-svn: 7433
2003-07-30 20:15:44 +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