summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Only gather frame info if debug or eh.Jim Laskey2007-01-291-2/+2
| | | | llvm-svn: 33639
* Landing pad-less eh for PPC.Jim Laskey2007-01-291-4/+3
| | | | llvm-svn: 33622
* Change the MachineDebugInfo to MachineModuleInfo to better reflect usageJim Laskey2007-01-261-8/+8
| | | | | | for debugging and exception handling. llvm-svn: 33550
* Make LABEL a builtin opcode.Jim Laskey2007-01-261-2/+2
| | | | llvm-svn: 33537
* Fix comment.Evan Cheng2007-01-251-2/+1
| | | | llvm-svn: 33508
* - Tell PEI that PPC will handle stack frame rounding itself.Evan Cheng2007-01-251-7/+2
| | | | | | | - Do not round up to max. alignment of stack object if it is > stack alignment. It will have to be handled with dynamic aligning code. llvm-svn: 33505
* Repair debug frames as a prelude to eh_frames. Switched to using MachineMovesJim Laskey2007-01-241-15/+43
| | | | | | by value so that clean up is less confusing (these vectors tend to be small.) llvm-svn: 33488
* hasFP() is now a virtual method of MRegisterInfo.Evan Cheng2007-01-231-1/+1
| | | | llvm-svn: 33455
* Fix naming inconsistency.Evan Cheng2007-01-021-10/+10
| | | | llvm-svn: 32823
* What should be the last unnecessary <iostream>s in the library.Bill Wendling2006-12-071-3/+2
| | | | llvm-svn: 32333
* fix CodeGen/PowerPC/2006-12-07-LargeAlloca.ll on ppc64Chris Lattner2006-12-071-0/+1
| | | | llvm-svn: 32331
* Make it easier for gdb to find the return address.Jim Laskey2006-12-061-45/+89
| | | | llvm-svn: 32277
* MachineInstr::setOpcode -> MachineInstr::setInstrDescriptorEvan Cheng2006-11-301-1/+1
| | | | llvm-svn: 32034
* Change MachineInstr ctor's to take a TargetInstrDescriptor reference insteadEvan Cheng2006-11-271-84/+95
| | | | | | of opcode and number of operands. llvm-svn: 31947
* r13 is the thread pointer on darwin/ppc64, don't allocate it.Chris Lattner2006-11-201-2/+2
| | | | llvm-svn: 31882
* Assert unhandled case.Jim Laskey2006-11-171-0/+2
| | | | llvm-svn: 31828
* 1. Ignore the -disable-fp-elim when the routine is a leaf.Jim Laskey2006-11-171-2/+2
| | | | | | 2. Offsets on 64-bit stores are still in bytes. llvm-svn: 31824
* This is a general clean up of the PowerPC ABI. Address several problems andJim Laskey2006-11-161-132/+244
| | | | | | | | | bugs including making sure that the TOS links back to the previous frame, that the maximum call frame size is not included twice when using frame pointers, no longer growing the frame on calls, double storing of SP and a cleaner/faster dynamic alloca. llvm-svn: 31792
* Fix ppc64 epilog bug.Chris Lattner2006-11-151-1/+1
| | | | llvm-svn: 31771
* Properly transfer kill / dead info.Evan Cheng2006-11-151-13/+17
| | | | llvm-svn: 31765
* Fix the PPC regressions last nightChris Lattner2006-11-151-6/+6
| | | | llvm-svn: 31752
* Rework PPC64 calls. Now we have a LR8/CTR8 register which the PPC64 callsChris Lattner2006-11-141-31/+51
| | | | | | | | clobber. This allows LR8 to be save/restored correctly as a 64-bit quantity, instead of handling it as a 32-bit quantity. This unbreaks ppc64 codegen when the code is actually located above the 4G boundary. llvm-svn: 31734
* Matches MachineInstr changes.Evan Cheng2006-11-131-10/+11
| | | | llvm-svn: 31712
* Make sure stack link is set in 64-bit.Jim Laskey2006-11-111-3/+9
| | | | llvm-svn: 31690
* implement proper PPC64 prolog/epilog codegen.Chris Lattner2006-11-111-30/+76
| | | | llvm-svn: 31684
* Running with frame pointers prevented debugging, external probes andJim Laskey2006-11-111-2/+5
| | | | | | | | potentially some system calls/exception handling from working. TOS must always link to previous frame. This is a short term workaround until alloca scheme is reworked. llvm-svn: 31677
* For PR786:Reid Spencer2006-11-021-1/+0
| | | | | | | | | | Turn on -Wunused and -Wno-unused-parameter. Clean up most of the resulting fall out by removing unused variables. Remaining warnings have to do with unused functions (I didn't want to delete code without review) and unused variables in generated code. Maintainers should clean up the remaining issues when they see them. All changes pass DejaGnu tests and Olden. llvm-svn: 31380
* Completely eliminate def&use operands. Now a register operand is EITHER aChris Lattner2006-09-051-3/+3
| | | | | | def operand or a use operand. llvm-svn: 30109
* Handle callee saved registers in dwarf frame info (lead up to exceptionJim Laskey2006-08-291-6/+13
| | | | | | handling.) llvm-svn: 29954
* Fix some comments.Jim Laskey2006-08-251-1/+4
| | | | llvm-svn: 29880
* The PPC64 JIT needs register numbers to encode instructions.Chris Lattner2006-07-111-35/+36
| | | | llvm-svn: 29114
* In 64-bit mode, 64-bit GPRs are callee saved, not 32-bit ones.Chris Lattner2006-07-111-59/+94
| | | | llvm-svn: 29096
* Fix rewriting frame offsets with ixaddr instructions, which implicitly shiftChris Lattner2006-06-271-8/+21
| | | | | | the offset two bits to the left. llvm-svn: 28933
* Rename OR4 -> OR. Move some PPC64-specific stuff to the 64-bit fileChris Lattner2006-06-201-3/+3
| | | | llvm-svn: 28889
* Gaar! Don't use r11 for CR save/restore, use R0. R11 can be registerChris Lattner2006-06-121-9/+11
| | | | | | | | | | | | | | | | | | | allocated, thus live across the save/reload. This fixes llc-beta /MultiSource/Applications/spiff/spiff llc-beta /MultiSource/Benchmarks/sim/sim: llc-beta /MultiSource/Benchmarks/Ptrdist/bc/bc llc-beta /MultiSource/Benchmarks/McCat/12-IOtest/iotest: llc-beta /MultiSource/Benchmarks/FreeBench/fourinarow/fourinarow llc-beta /MultiSource/Benchmarks/Fhourstones-3.1/fhourstones3.1 llc-beta /MultiSource/Benchmarks/mediabench/adpcm/rawdaudio/rawdaudio llc-beta /MultiSource/Benchmarks/mediabench/adpcm/rawcaudio/rawcaudio llc-beta /MultiSource/Benchmarks/mediabench/g721/g721encode/encode llc-beta /MultiSource/Benchmarks/mediabench/jpeg/jpeg-6a/cjpeg and probably others, with -regalloc=local. llvm-svn: 28761
* Fix spilling and reloading of CR regs to reload the right values. This fixesChris Lattner2006-06-121-2/+24
| | | | | | Olden/power (and probably others) with -regalloc=local. llvm-svn: 28760
* getCalleeSaveRegs and getCalleeSaveRegClasses are no long TableGen'd.Evan Cheng2006-05-181-0/+67
| | | | llvm-svn: 28378
* Fix the PowerPC JIT-only failure on UnitTests/Vector/sumarray-dbl, which isChris Lattner2006-05-101-2/+2
| | | | | | | really a bad codegen bug that LLC happens to get lucky with. I must chat with Nate for the proper fix. llvm-svn: 28213
* Move some methods out of MachineInstr into MachineOperandChris Lattner2006-05-041-4/+4
| | | | llvm-svn: 28102
* There shalt be only one "immediate" operand type!Chris Lattner2006-05-041-13/+12
| | | | llvm-svn: 28099
* Revert Nate's CR patch from last night, which caused many regressions (e.g. ↵Chris Lattner2006-05-041-8/+6
| | | | | | | | | fhourstones). Loading and storing off R0 isn't what we wanted. Also, taking some CR's out of CRRC seems to cause failures as well. Further investigation is required. llvm-svn: 28097
* Since we don't handle callee-save CRs right yet, don't allocate them. AlsoNate Begeman2006-05-021-6/+8
| | | | | | don't step on R11 in the middle of a function when saving and restoring CRs llvm-svn: 28058
* Don't diddle VRSAVE if no registers need to be added/removed from it. ThisChris Lattner2006-04-171-4/+53
| | | | | | | | | | | | | | | | | | | | | | | | allows us to codegen functions as: _test_rol: vspltisw v2, -12 vrlw v2, v2, v2 blr instead of: _test_rol: mfvrsave r2, 256 mr r3, r2 mtvrsave r3 vspltisw v2, -12 vrlw v2, v2, v2 mtvrsave r2 blr Testcase here: CodeGen/PowerPC/vec_vrsave.ll llvm-svn: 27777
* Vectors that are known live-in and live-out are clearly already marked inChris Lattner2006-04-171-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | the vrsave register for the caller. This allows us to codegen a function as: _test_rol: mfspr r2, 256 mr r3, r2 mtspr 256, r3 vspltisw v2, -12 vrlw v2, v2, v2 mtspr 256, r2 blr instead of: _test_rol: mfspr r2, 256 oris r3, r2, 40960 mtspr 256, r3 vspltisw v0, -12 vrlw v2, v0, v0 mtspr 256, r2 blr llvm-svn: 27772
* Move some knowledge about registers out of the code emitter into the ↵Chris Lattner2006-04-171-0/+42
| | | | | | register info. llvm-svn: 27770
* Use a small table instead of macros to do this conversion.Chris Lattner2006-04-171-10/+13
| | | | llvm-svn: 27769
* Fix SingleSource/UnitTests/Vector/sumarray-dblNate Begeman2006-04-111-4/+3
| | | | llvm-svn: 27594
* Fix PR727, correctly handling large stack aligments on ppcNate Begeman2006-04-111-32/+28
| | | | llvm-svn: 27593
* Suppress debug label when not debug.Jim Laskey2006-04-111-1/+1
| | | | llvm-svn: 27588
* Foundation for call frame information.Jim Laskey2006-04-071-2/+29
| | | | llvm-svn: 27491
OpenPOWER on IntegriCloud