Misha Brukman
dad438bfb9
Renamed PPC32 (namespace for regs, opcodes) to PPC to include 64-bit targets
...
llvm-svn: 15631
2004-08-10 22:47:03 +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
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
Misha Brukman
471b43a357
* Temporarily suspend LR save/restore optimization as it is not quite correct
...
* Implement large fixed-size allocas Entire patch by Nate Begeman.
llvm-svn: 15345
2004-07-30 15:50:45 +00:00
Misha Brukman
4d66925aea
Remove empty unused method processFunctionBeforeFrameFinalized()
...
llvm-svn: 15284
2004-07-27 18:38:40 +00:00
Misha Brukman
bc1a2f96a6
Save and restore LR just like any other register and ONLY if we actually modify
...
it (due to calls or globals access). We now compile `void empty(){}' to `blr'.
llvm-svn: 15274
2004-07-27 17:17:18 +00:00
Misha Brukman
b5ed14486b
Do not store the stack pointer if the stack size is 0.
...
Also, convert C-style comments to C++ and make sure code wraps at 80 cols.
llvm-svn: 15245
2004-07-26 22:00:26 +00:00
Misha Brukman
40f07ec771
Fix subtracting values > 2^15 in the prologue/epilogue, by Nate Begeman.
...
llvm-svn: 15234
2004-07-26 16:22:52 +00:00
Misha Brukman
455622577a
Use addSImm() instead of addImm() for stack offsets, which may be negative.
...
llvm-svn: 15081
2004-07-21 19:36:57 +00:00
Misha Brukman
e036ff8b32
Fix stack frame layout in prologue/epilogue. Patch courtesy of Nate Begeman.
...
llvm-svn: 15026
2004-07-20 02:23:09 +00:00
Misha Brukman
db032fb1f9
* Store all non-volatile int registers R13-31 on the stack, restore on exit
...
* Fix comment formatting
llvm-svn: 14900
2004-07-16 20:55:20 +00:00
Chris Lattner
b889c6b261
Delete the allocate*TargetMachine function, which is now dead.
...
The shared command line options are now in a header that makes sense.
llvm-svn: 14757
2004-07-11 04:17:58 +00:00
Chris Lattner
97c176b639
Add compilability
...
llvm-svn: 14744
2004-07-11 02:48:28 +00:00
Misha Brukman
14d02cd2d8
Read/write the offset value for stack-relative loads via correct instr operand.
...
llvm-svn: 14722
2004-07-09 15:37:16 +00:00
Misha Brukman
4308baa0f1
Add FIXME notes for spilling int/fp regs (need to calculate stack space).
...
llvm-svn: 14581
2004-07-02 17:54:38 +00:00
Misha Brukman
24a0371791
* Follow the PowerPC convention of leaving 24 bytes for linking on the stack.
...
* Also leave space for spilling integer registers (this should be calculated)
llvm-svn: 14554
2004-07-01 21:35:00 +00:00
Misha Brukman
2b9106f808
Always assume a function may have calls because the printer may add `bl' to get
...
the PC in a code sequence for global variables.
llvm-svn: 14506
2004-06-30 00:09:12 +00:00
Misha Brukman
d409669877
Set up the prologue and epilogue to be more like the manual and GCC output.
...
llvm-svn: 14502
2004-06-29 23:38:26 +00:00
Misha Brukman
802403723b
* Fix saving LR in function prologue
...
* Adjust epilogue restore sequence to match the PowerPC documentation
llvm-svn: 14480
2004-06-29 17:14:42 +00:00
Misha Brukman
b5932a5708
Convert tabs to spaces.
...
llvm-svn: 14412
2004-06-25 18:45:07 +00:00
Misha Brukman
a79dd915b7
Use DEBUG() guard for printing out debug info.
...
llvm-svn: 14386
2004-06-24 23:54:05 +00:00
Misha Brukman
842c710028
* Tabs to spaces
...
* Send an error message to std::cerr before abort()ing
llvm-svn: 14381
2004-06-24 23:19:36 +00:00
Misha Brukman
c88c1ba066
Spell out `NoFramePointerElim'.
...
llvm-svn: 14300
2004-06-21 21:18:48 +00:00
Misha Brukman
5cb198a9c6
Use the common `NoFPElim' setting instead of our own.
...
llvm-svn: 14298
2004-06-21 21:10:24 +00:00
Misha Brukman
6292a056a8
Type::getPrimitiveID() -> getTypeID()
...
llvm-svn: 14287
2004-06-21 17:19:08 +00:00
Misha Brukman
e05203fb40
Initial revision
...
llvm-svn: 14283
2004-06-21 16:55:25 +00:00