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