Chris Lattner
3ea934668b
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15536 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-06 06:58:50 +00:00
Brian Gaeke
406e8cbb43
Update the To-Do list according to my notes + assertions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15535 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-06 04:38:13 +00:00
John Criswell
aaf10ab5a2
Added Louis Gerbarg. Louis is given credit in the CREDITS.TXT file, so I
...
assume Louis also holds copyright.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15534 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-05 23:46:27 +00:00
John Criswell
2c2ba762a3
Add additional copyright notice for the PowerPC backend.
...
Thanks Nate!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15531 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-05 20:36:00 +00:00
Misha Brukman
2f947865cb
Simplify makefile by combining all TableGen dependencies into one variable
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15527 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-05 18:34:15 +00:00
Misha Brukman
3c7071447c
PowerPC is a real target now.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15522 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-05 18:22:30 +00:00
Misha Brukman
1411a67060
Hand-propagate the constant TARGET_NAME which was making lines wrap anyway
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15506 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 21:48:45 +00:00
Misha Brukman
7a750e1ff5
* Remove unnecessary comment
...
* Fix alignment of code
* Tabs to spaces
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15505 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 21:48:00 +00:00
Misha Brukman
dee0f9b94c
Align dependencies so they don't hurt the eyes to look at them
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15504 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 21:37:41 +00:00
Misha Brukman
7338ae5b88
Remove unused instruction classes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15501 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 21:18:57 +00:00
Misha Brukman
db01356c15
Make tablegen targets depend on PowerPCInstrFormats.td as well
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15500 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 21:18:36 +00:00
Chris Lattner
6173cd9c16
getValues does not exist
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15495 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 17:29:14 +00:00
Chris Lattner
cdf7012860
getValues is gone
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15494 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 17:27:27 +00:00
Alkis Evlogimenos
15876bb28c
Stop using getValues().
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15487 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 08:44:43 +00:00
Brian Gaeke
1c313c959a
Get rid of the only use of TargetInstrInfo::getResultPos(), a deprecated method.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15483 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 08:05:27 +00:00
Brian Gaeke
57195d1321
Include SparcV9TmpInstr.h to pick up the def. of TmpInstruction,
...
instead of InstrSelection.h, which is dead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15476 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 07:34:57 +00:00
Brian Gaeke
aceb7d8b97
Include SparcV9BurgISel.h, to pick up the definition of
...
createSparcV9BurgInstSelector().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15474 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 07:30:04 +00:00
Brian Gaeke
98ac7ac507
Include SparcV9TmpInstr.h instead of llvm/CodeGen/InstrSelection.h, to pick
...
up the definition of class TmpInstruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15473 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 07:29:53 +00:00
Brian Gaeke
bd0a183fec
Include SparcV9BurgISel.h, because PreSelection uses routines from within
...
the SparcV9 BURG instruction selector. Eww!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15472 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 07:29:40 +00:00
Brian Gaeke
8943e68bff
Add a Doxygen comment, and inline the constructor (which is now almost empty).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15471 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 07:29:28 +00:00
Brian Gaeke
587cd1aa3c
The InstrForest data type has moved from llvm/CodeGen/InstrForest.h
...
to SparcV9InstrForest.h.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15470 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 07:29:16 +00:00
Brian Gaeke
d5ce4116b2
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15469 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 07:29:04 +00:00
Brian Gaeke
10b11920c9
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15468 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 07:28:51 +00:00
Chris Lattner
46c2b3a5ec
Squelch warnings in release mode
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15460 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 03:51:55 +00:00
Misha Brukman
68f3459994
Remove unused opcodes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15447 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-03 20:23:44 +00:00
Chris Lattner
82953784fc
Move this file out of the top-level docs directory
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15429 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-03 04:15:02 +00:00
Misha Brukman
37dcae63eb
* Use simpler instruction templates to define instructions
...
* Fix several extended opcodes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15423 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-02 21:58:52 +00:00
Misha Brukman
c681a4e476
Replace patterns 0, 4, and 5 with simpler heirarchical definitions that use the
...
official PowerPC instruction format lingo: X- and D-form.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15422 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-02 21:56:35 +00:00
Misha Brukman
28791dd17f
Separate instruction formats from instruction definitions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15414 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-02 16:54:54 +00:00
Misha Brukman
6a90f8202b
Add #include <cstdlib> and abort() to silence a warning
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15413 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-02 14:02:21 +00:00
Misha Brukman
82fd8d8cdd
* ceil() requires #include <cmath> for compilation
...
* Alphabetize #includes
* Fix some lines to fit within 80 cols
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15412 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-02 13:59:10 +00:00
Chris Lattner
bcdda01210
Fix a warning
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15409 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-01 19:31:30 +00:00
Chris Lattner
fc752713d7
Convert all I<> instructions to asmformat.
...
Delete the 'name' field of all instructions that have asmformats.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15403 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-01 09:52:59 +00:00
Chris Lattner
33c23ddf8a
Add some immediate forms, make name optional
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15401 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-01 09:36:44 +00:00
Chris Lattner
a35ce87e2e
Eliminate 3 of the X86 printImplicit* flags.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15398 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-01 08:23:17 +00:00
Chris Lattner
1626c507e8
Get rid of 3 of the 4 'printimplicit' flags. Implicit operands are now
...
explicitly listed in the asm string.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15397 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-01 08:22:29 +00:00
Chris Lattner
0e967d4f48
Convert more instructions over to the asmprinter
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15396 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-01 08:13:11 +00:00
Chris Lattner
25369cfa2b
Handle registers a bit more efficiently
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15395 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-01 08:12:41 +00:00
Chris Lattner
068758e518
give FP stack registers names
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15394 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-01 08:12:13 +00:00
Chris Lattner
ffff70827c
Switch more instructions over to using the asmprinter. Fix bugs in the emission
...
of in/out instructions (missing %'s on registers).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15393 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-01 07:44:35 +00:00
Chris Lattner
b12ee503f7
The tblgen'erated asmparser wants a way to print operands.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15392 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-01 07:43:46 +00:00
Chris Lattner
3fa861ac6c
Rename the Printer class -> X86AsmPrinter.
...
Include the tablegenerated assembly writer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15389 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-01 06:02:08 +00:00
Chris Lattner
8f945d7756
Factor a bunch of the rules and add support for generating the asmwriter.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15388 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-01 06:01:32 +00:00
Chris Lattner
96563df090
Specify an asm string and operands lists for a bunch of instructions.
...
This only really covers no-operand instructions so far.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15387 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-01 06:01:00 +00:00
Chris Lattner
c139203f04
Add the 'ops' marker, add an AsmString initializer
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15383 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-01 04:40:43 +00:00
Chris Lattner
1ab7c5b5e8
Completely disable the pattern isel until it is more substantial.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15380 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-01 03:28:02 +00:00
Chris Lattner
4ad25e432d
Entirely eliminate all patterns and expanders from this file. We shall go
...
with an incremental approach rather than a revolutionary approach.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15379 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-01 03:25:01 +00:00
Chris Lattner
bbe664c8fb
Move the 'Expander' node to later in the file, with the other experimental
...
stuff. The pattern becomes a list, add some stuff, add some comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15378 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-01 03:23:34 +00:00
Chris Lattner
bb737edcc3
Remove obsolete file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15377 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-01 03:19:28 +00:00
Alkis Evlogimenos
31e155e610
Align breaks.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15371 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-31 10:05:44 +00:00