Nate Begeman
63be70d8f2
Fix casts of float to unsigned long
...
Replace STDX (store 64 bit int indexed) with STFDX (store double indexed)
Fix latent bug in indexed load generation
Generate indexed loads and stores in many more cases
llvm-svn: 15626
2004-08-10 20:42:36 +00:00
Misha Brukman
1401c28e35
Fix file header comment: update filename, set tablegen emacs mode.
...
llvm-svn: 15625
2004-08-10 20:28:13 +00:00
Chris Lattner
ead14c1a07
This purely mechanical patch gives the "I" tblgen class operand list and asm
...
string operands, and adjusts all users to pass them in instead of using II.
llvm-svn: 15624
2004-08-10 20:17:41 +00:00
Chris Lattner
c4eb5951d5
Convert Ii32 instructions over to use the asmprinter generator
...
llvm-svn: 15621
2004-08-10 19:06:36 +00:00
Misha Brukman
c6b114f258
DForm 5/6 extended mneumonics take 3 arguments.
...
llvm-svn: 15620
2004-08-10 19:03:31 +00:00
Misha Brukman
dc541abcd0
* Instruction definitions moved to SparcV9InstrInfo.td for consistency
...
* Defined PHI instruction and SparcV9 subclass of Target
llvm-svn: 15615
2004-08-10 18:15:31 +00:00
Misha Brukman
591d47113f
Renamed SparcV9_Reg.td -> SparcV9RegisterInfo.td for consistency.
...
llvm-svn: 15614
2004-08-10 18:14:04 +00:00
Misha Brukman
09d87b4939
Fix DForm_4: format is `op r, r, i'
...
llvm-svn: 15613
2004-08-10 18:07:55 +00:00
Misha Brukman
17913b3f23
Fix comment header, specify type of file `tablegen'.
...
llvm-svn: 15612
2004-08-10 17:37:14 +00:00
Chris Lattner
9f49a91b44
Convert the Ii16 instructions over
...
llvm-svn: 15606
2004-08-10 16:22:02 +00:00
Chris Lattner
4d66b78036
Convert all Ii8 instructions over to the autogenerated asmprinter.
...
llvm-svn: 15605
2004-08-10 16:09:54 +00:00
Misha Brukman
8fbdc9fc4f
Define the target name so we can use it via TableGen.
...
llvm-svn: 15604
2004-08-10 15:29:15 +00:00
Chris Lattner
1d787355e7
Paper over CBackend/2004-08-09-va-end-null.ll
...
Note that this indicates a serious problem with the way we are emitting varargs,
but this should not be properly fixed until after 1.3.
This patch SHOULD go into 1.3.
llvm-svn: 15602
2004-08-10 00:19:16 +00:00
Misha Brukman
189229151f
Stub definition of the PowerPC CodeEmitter class; this isn't functional (yet).
...
llvm-svn: 15600
2004-08-09 23:03:59 +00:00
Misha Brukman
eca36a5aa0
CodePrinter -> AsmPrinter
...
llvm-svn: 15599
2004-08-09 22:27:45 +00:00
Misha Brukman
8f951e579b
Remove ClassPrefix variable as it's no longer used.
...
llvm-svn: 15586
2004-08-09 19:13:29 +00:00
Misha Brukman
0eb9cee698
The (future) SparcV8 JIT would do well to have a class prefix.
...
llvm-svn: 15583
2004-08-09 18:13:09 +00:00
Misha Brukman
11bbbb9cdd
Define the ClassPrefix for SparcV9.
...
llvm-svn: 15581
2004-08-09 17:46:49 +00:00
Misha Brukman
d210ed1855
Define a ClassPrefix for PowerPC.
...
llvm-svn: 15580
2004-08-09 17:46:26 +00:00
Misha Brukman
8f7272c249
Classes need to have a prefix name, so that they can be tacked on to the pieces
...
that TableGen creates for them, e.g. CodeEmitter, AsmPrinter, etc.
llvm-svn: 15579
2004-08-09 17:46:06 +00:00
Misha Brukman
b3401c4c50
Generate a code emitter for PowerPC as well, this will be used in the JIT.
...
llvm-svn: 15578
2004-08-09 17:24:32 +00:00
Misha Brukman
5295e1db10
Use instruction formats as defined in the PowerPC ISA manual
...
llvm-svn: 15577
2004-08-09 17:24:04 +00:00
Reid Spencer
42817b7ea1
Fix stack size processing now that the return address isn't an implied
...
push onto the top of the stack like x86, which uses the local area
offset. This will allow the removal of PowerPCPEI.cpp soon.
llvm-svn: 15573
2004-08-09 01:24:32 +00:00
Brian Gaeke
8d38dee7b4
dumpSavedState has outlived its usefulness.
...
llvm-svn: 15555
2004-08-06 19:11:43 +00:00
Chris Lattner
a8dcf2423e
Changes commited for Nate Begeman:
...
Use a PowerPC specific prolog epilog inserter to control where spilled
callee save regs are placed on the stack.
Get rid of implicit return address stack slot, save return address reg
(LR) in appropriate slot
Improve code generated for functions that don't have calls or access
globals
Note from Chris: PowerPCPEI will eventually be eliminated, once the
functionality is merged into CodeGen/PrologEpilogInserter.cpp
llvm-svn: 15536
2004-08-06 06:58:50 +00:00
Brian Gaeke
a1a0643e38
Update the To-Do list according to my notes + assertions
...
llvm-svn: 15535
2004-08-06 04:38:13 +00:00
John Criswell
2fc39a9c2f
Added Louis Gerbarg. Louis is given credit in the CREDITS.TXT file, so I
...
assume Louis also holds copyright.
llvm-svn: 15534
2004-08-05 23:46:27 +00:00
John Criswell
e7ccf6445e
Add additional copyright notice for the PowerPC backend.
...
Thanks Nate!
llvm-svn: 15531
2004-08-05 20:36:00 +00:00
Misha Brukman
7d41ed5271
Simplify makefile by combining all TableGen dependencies into one variable
...
llvm-svn: 15527
2004-08-05 18:34:15 +00:00
Misha Brukman
1d1d1c4676
PowerPC is a real target now.
...
llvm-svn: 15522
2004-08-05 18:22:30 +00:00
Misha Brukman
283042bed3
Hand-propagate the constant TARGET_NAME which was making lines wrap anyway
...
llvm-svn: 15506
2004-08-04 21:48:45 +00:00
Misha Brukman
b2b9686b3a
* Remove unnecessary comment
...
* Fix alignment of code
* Tabs to spaces
llvm-svn: 15505
2004-08-04 21:48:00 +00:00
Misha Brukman
2068654d68
Align dependencies so they don't hurt the eyes to look at them
...
llvm-svn: 15504
2004-08-04 21:37:41 +00:00
Misha Brukman
cdd72aaa1f
Remove unused instruction classes
...
llvm-svn: 15501
2004-08-04 21:18:57 +00:00
Misha Brukman
f74157ab15
Make tablegen targets depend on PowerPCInstrFormats.td as well
...
llvm-svn: 15500
2004-08-04 21:18:36 +00:00
Chris Lattner
08c58e63d9
getValues does not exist
...
llvm-svn: 15495
2004-08-04 17:29:14 +00:00
Chris Lattner
50c6df4ba0
getValues is gone
...
llvm-svn: 15494
2004-08-04 17:27:27 +00:00
Alkis Evlogimenos
832437255d
Stop using getValues().
...
llvm-svn: 15487
2004-08-04 08:44:43 +00:00
Brian Gaeke
ef57e5b91a
Get rid of the only use of TargetInstrInfo::getResultPos(), a deprecated method.
...
llvm-svn: 15483
2004-08-04 08:05:27 +00:00
Brian Gaeke
def3b458b0
Include SparcV9BurgISel.h, to pick up the definition of
...
createSparcV9BurgInstSelector().
llvm-svn: 15474
2004-08-04 07:30:04 +00:00
Brian Gaeke
813d9f5023
Include SparcV9TmpInstr.h instead of llvm/CodeGen/InstrSelection.h, to pick
...
up the definition of class TmpInstruction.
llvm-svn: 15473
2004-08-04 07:29:53 +00:00
Brian Gaeke
4b621da631
Include SparcV9BurgISel.h, because PreSelection uses routines from within
...
the SparcV9 BURG instruction selector. Eww!
llvm-svn: 15472
2004-08-04 07:29:40 +00:00
Brian Gaeke
908df3299f
Add a Doxygen comment, and inline the constructor (which is now almost empty).
...
llvm-svn: 15471
2004-08-04 07:29:28 +00:00
Brian Gaeke
16f092fe93
The InstrForest data type has moved from llvm/CodeGen/InstrForest.h
...
to SparcV9InstrForest.h.
llvm-svn: 15470
2004-08-04 07:29:16 +00:00
Brian Gaeke
b3e3c539a4
Add a new file containing just TmpInstruction and its implementation.
...
Many other pieces of the SparcV9 backend want to use TmpInstruction, but
don't need any other instruction selector baggage.
llvm-svn: 15469
2004-08-04 07:29:04 +00:00
Brian Gaeke
61dd48425f
All the SparcV9 BURG instruction selector pieces have been collected into the
...
new file SparcV9BurgISel.cpp, with exposed interfaces in SparcV9BurgISel.h.
The InstrSelection directory is now dead.
llvm-svn: 15468
2004-08-04 07:28:51 +00:00
Misha Brukman
8a1978fd72
Remove unused opcodes.
...
llvm-svn: 15447
2004-08-03 20:23:44 +00:00
Chris Lattner
9e92b19182
Move this file out of the top-level docs directory
...
llvm-svn: 15429
2004-08-03 04:15:02 +00:00
Misha Brukman
570dcf63e6
* Use simpler instruction templates to define instructions
...
* Fix several extended opcodes
llvm-svn: 15423
2004-08-02 21:58:52 +00:00
Misha Brukman
6b21bde2d6
Replace patterns 0, 4, and 5 with simpler heirarchical definitions that use the
...
official PowerPC instruction format lingo: X- and D-form.
llvm-svn: 15422
2004-08-02 21:56:35 +00:00