Commit Graph

6097 Commits

Author SHA1 Message Date
Chris Lattner 3bb2a00849 Move X86 specific code out of the JIT into the X86 backend
llvm-svn: 6516
2003-06-01 23:23:50 +00:00
Chris Lattner 0c1475caf0 Changes to be compatible with MachineCodeEmitter.h
llvm-svn: 6515
2003-06-01 23:22:11 +00:00
Chris Lattner aad566da80 Hack up MachineCodeEmitter to actually be target independent.
llvm-svn: 6514
2003-06-01 23:20:02 +00:00
Brian Gaeke 101ed907f4 Fix induction variable name clash in for loops, in finishFunction().
Modify new MachineOperand so that its flags match the old MachineOperand's
 flags, for the flags that matter.

llvm-svn: 6513
2003-06-01 22:08:29 +00:00
Brian Gaeke 13dffdefef Make the .inc file depend on $(TBLGEN), so that changes to TableGen followed
by a re-link of TableGen will notify Make to rebuild the .inc file.

llvm-svn: 6512
2003-06-01 04:52:51 +00:00
Chris Lattner 39adbfca5b Don't print out unique identifier for opaque types
llvm-svn: 6511
2003-06-01 03:45:51 +00:00
Chris Lattner 4536fcd57b * Implement cast (long|ulong) to bool
* Fix cast of (short|ushort|int|uint) to bool to work right

llvm-svn: 6510
2003-06-01 03:38:24 +00:00
Chris Lattner bf37f7de1b Add RR forms of test instruction
llvm-svn: 6509
2003-06-01 03:37:46 +00:00
Chris Lattner 7014a116dd Add tests for cast of long to bool
llvm-svn: 6508
2003-06-01 03:37:25 +00:00
Chris Lattner 886fca4dc2 Fix a bug with casts to bool. This fixes testcase UnitTests/2003-05-31-CastToBool.c
llvm-svn: 6507
2003-06-01 03:36:51 +00:00
Chris Lattner 791ac1a4c8 Implement xform: (X != 0) -> (bool)X
llvm-svn: 6506
2003-06-01 03:35:25 +00:00
Chris Lattner ef33748248 New testcases
llvm-svn: 6505
2003-06-01 03:34:53 +00:00
Anand Shukla e6c3ee6b07 Add map info for arguments to call (copies)
llvm-svn: 6503
2003-06-01 02:48:23 +00:00
Anand Shukla 03a2134253 Added the #(internal functions) to output
llvm-svn: 6502
2003-06-01 02:40:49 +00:00
Chris Lattner a0a6b9c1b7 Add tests for 64 bit shifts
llvm-svn: 6501
2003-06-01 01:57:44 +00:00
Chris Lattner 372086c87b Add support for shl and shr for 64 bit integer types
llvm-svn: 6499
2003-06-01 01:56:54 +00:00
Chris Lattner ea447da8a8 Add definitions for TEST instructions
llvm-svn: 6498
2003-06-01 01:56:39 +00:00
Chris Lattner 70f158330c Add new cmovne32 instruction
llvm-svn: 6496
2003-06-01 00:05:15 +00:00
Chris Lattner 9ed31bc497 Fix bug: CBackend/2003-05-31-MissingStructName.ll
llvm-svn: 6495
2003-05-31 23:30:52 +00:00
Chris Lattner 3b7974d40c New testcase
llvm-svn: 6494
2003-05-31 23:27:10 +00:00
Chris Lattner 2b1329611b Fix bug: FunctionResolve/2003-05-31-AllInternalDecls.ll
llvm-svn: 6486
2003-05-31 21:57:06 +00:00
Chris Lattner 306f8b4934 Add support for: -o -
llvm-svn: 6485
2003-05-31 21:47:16 +00:00
Chris Lattner a71b979201 New testcase
llvm-svn: 6484
2003-05-31 21:33:08 +00:00
Chris Lattner bb25391608 New testcase for behavior we depend on.
llvm-svn: 6483
2003-05-31 21:14:45 +00:00
Chris Lattner 080436820e Fix bug: FuncResolve/2003-05-31-InternalDecl.ll
Count resolutions correctly.

llvm-svn: 6482
2003-05-31 21:08:45 +00:00
Chris Lattner 2111527574 New testcase
llvm-svn: 6481
2003-05-31 21:04:39 +00:00
Chris Lattner 709c1d469b Simplify funcresolve a bit more
llvm-svn: 6480
2003-05-31 20:44:46 +00:00
Chris Lattner 5ef98de61c Fix bug: FunctionResolve/2003-05-31-FuncPointerResolve.ll
llvm-svn: 6479
2003-05-31 20:33:31 +00:00
Chris Lattner 9c6e99cae6 Add another testcase
llvm-svn: 6478
2003-05-31 20:33:09 +00:00
Chris Lattner 1fcfd4eb61 New testcase
llvm-svn: 6477
2003-05-31 20:21:13 +00:00
Tanya Lattner e2d74c1c81 Fixed comment width, changed arg to be const, fixed indentation, removed unnecessary includes.
llvm-svn: 6476
2003-05-31 20:01:37 +00:00
Chris Lattner d9460e12f5 * Correct title
* Give credit to John for making the page

llvm-svn: 6475
2003-05-31 19:55:19 +00:00
John Criswell 384f6ba403 *** empty log message ***
llvm-svn: 6474
2003-05-31 16:46:21 +00:00
Vikram S. Adve ef56a0fb6a Made a single common InvalidRegNum = -1.
llvm-svn: 6473
2003-05-31 07:44:07 +00:00
Vikram S. Adve 12067b6598 Renamed a variable.
llvm-svn: 6472
2003-05-31 07:43:41 +00:00
Vikram S. Adve 1a06ec6655 Support for annul/pred and other future flags on op codes.
Support for recording the physical register for implcit references.

llvm-svn: 6471
2003-05-31 07:43:01 +00:00
Vikram S. Adve 24ce4d8eb8 Minor changes.
llvm-svn: 6470
2003-05-31 07:41:54 +00:00
Vikram S. Adve ad83684c77 Added MachineCodeForInstruction object as an argument to
TmpInstruction constructors because every TmpInstruction object has
to be registered with a MachineCodeForInstruction to prevent leaks.
This simplifies the user's code.

llvm-svn: 6469
2003-05-31 07:41:24 +00:00
Vikram S. Adve c468882155 Allow explicit physical registers for implicit operands.
llvm-svn: 6468
2003-05-31 07:39:06 +00:00
Vikram S. Adve 465f9b6738 Changes to allow explicit physical register arguments that have been
preallocated.  While reg-to-reg dependences were already handled, this
change required new code for adding edges to/from call instructions.
This was part of the extensive changes to the way code generation occurs
for function call arguments and return values.
See log for CodeGen/PhyRegAlloc.cpp.

llvm-svn: 6467
2003-05-31 07:37:05 +00:00
Vikram S. Adve ba6f8e274a Several bug fixes: globals in call operands were not being pulled out;
globals in some other places may not have been pulled out either;
globals in phi operands were being put just before the phi instead of
in the predecessor basic blocks.

llvm-svn: 6466
2003-05-31 07:34:57 +00:00
Vikram S. Adve a83804a29a Extensive changes to the way code generation occurs for function
call arguments and return values:
Now all copy operations before and after a call are generated during
selection instead of during register allocation.
The values are copied to virtual registers (or to the stack), but
in the former case these operands are marked with the correct physical
registers according to the calling convention.
Although this complicates scheduling and does not work well with
live range analysis, it simplifies the machine-dependent part of
register allocation.

llvm-svn: 6465
2003-05-31 07:32:01 +00:00
Vikram S. Adve 96b801ab56 Reverting previous beautification changes.
llvm-svn: 6464
2003-05-31 07:27:17 +00:00
Misha Brukman d2b29c8a9e Fixed rewriting of branches -- they now work forward and backward.
llvm-svn: 6463
2003-05-31 06:26:48 +00:00
Misha Brukman bf69b7fe69 Removed useless code -- the byte order of output code is correct as is.
llvm-svn: 6462
2003-05-31 06:26:06 +00:00
Misha Brukman 23937091f0 The 'rd' register is consistently mentioned last in instruction definitions.
Created new classes from which instructions inherit their ordering of fields.

llvm-svn: 6461
2003-05-31 06:25:19 +00:00
Misha Brukman c4f029f8ba * Put back into action SLL/SRL/SRA{r,i}6 instructions
* Fixed page numbers referring to the Sparc manual

llvm-svn: 6460
2003-05-31 06:24:29 +00:00
Misha Brukman 8d5316769f Code beautification, no functional changes.
llvm-svn: 6459
2003-05-31 06:22:37 +00:00
Vikram S. Adve a48e258ab6 3 more bugs from the SPEC codes and from richards_benchmark.c
llvm-svn: 6458
2003-05-31 04:45:56 +00:00
Misha Brukman 0b3a70c25b Enabling some of these passes causes lli to break
llvm-svn: 6457
2003-05-31 04:23:04 +00:00