Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Remove attribution from file headers, per discussion on llvmdev. | Chris Lattner | 2007-12-29 | 1 | -2/+2 | |
| | | | | llvm-svn: 45418 | |||||
* | Fix a significant code quality regression I introduced on PPC64 quite | Chris Lattner | 2007-12-08 | 1 | -1/+1 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a while ago. We now produce: _foo: mflr r0 std r0, 16(r1) ld r2, 16(r1) std r2, 0(r3) ld r0, 16(r1) mtlr r0 blr instead of: _foo: mflr r0 std r0, 16(r1) lis r0, 0 ori r0, r0, 16 ldx r2, r1, r0 std r2, 0(r3) ld r0, 16(r1) mtlr r0 blr for: void foo(void **X) { *X = __builtin_return_address(0); } on ppc64. llvm-svn: 44701 | |||||
* | implement __builtin_return_addr(0) on ppc. | Chris Lattner | 2007-12-08 | 1 | -2/+7 | |
| | | | | llvm-svn: 44700 | |||||
* | refactor some code to avoid overloading the name 'usesLR' in | Chris Lattner | 2007-12-08 | 1 | -7/+9 | |
| | | | | | | | different places to mean different things. Document what the one in PPCFunctionInfo means and when it is valid. llvm-svn: 44699 | |||||
* | Fix a compilation warning. | Evan Cheng | 2007-12-08 | 1 | -1/+1 | |
| | | | | llvm-svn: 44691 | |||||
* | Added canFoldMemoryOperand for PPC. | Evan Cheng | 2007-12-05 | 1 | -0/+20 | |
| | | | | llvm-svn: 44623 | |||||
* | Add a argument to storeRegToStackSlot and storeRegToAddr to specify whether | Evan Cheng | 2007-12-05 | 1 | -13/+15 | |
| | | | | | | the stored register is killed. llvm-svn: 44600 | |||||
* | Remove redundant foldMemoryOperand variants and other code clean up. | Evan Cheng | 2007-12-02 | 1 | -2/+5 | |
| | | | | llvm-svn: 44517 | |||||
* | Fix a crash on invalid code due to memcpy lowering. | Chris Lattner | 2007-11-27 | 1 | -25/+30 | |
| | | | | llvm-svn: 44378 | |||||
* | Add parameter to getDwarfRegNum to permit targets | Dale Johannesen | 2007-11-13 | 1 | -1/+1 | |
| | | | | | | | | to use different mappings for EH and debug info; no functional change yet. Fix warning in X86CodeEmitter. llvm-svn: 44056 | |||||
* | Completely forgot, that we have some debug information emission on PPC. This ↵ | Anton Korobeynikov | 2007-11-12 | 1 | -2/+2 | |
| | | | | | | | | should fix some regressions on ppc nightly tests. llvm-svn: 44029 | |||||
* | Use TableGen to emit information for dwarf register numbers. | Anton Korobeynikov | 2007-11-11 | 1 | -0/+5 | |
| | | | | | | | | This makes DwarfRegNum to accept list of numbers instead. Added three different "flavours", but only slightly tested on x86-32/linux. Please check another subtargets if possible, llvm-svn: 43997 | |||||
* | - Added getOpcodeAfterMemoryUnfold(). It doesn't unfold an instruction, but ↵ | Evan Cheng | 2007-10-18 | 1 | -2/+2 | |
| | | | | | | | | only returns the opcode of the instruction post unfolding. - Fix some copy+paste bugs. llvm-svn: 43153 | |||||
* | Use SmallVectorImpl instead of SmallVector with hardcoded size in MRegister ↵ | Evan Cheng | 2007-10-18 | 1 | -6/+6 | |
| | | | | | | public interface. llvm-svn: 43150 | |||||
* | Fix a bug handling frame references in ppc inline asm when the frame offset | Chris Lattner | 2007-10-16 | 1 | -24/+33 | |
| | | | | | | doesn't fit into 16 bits. llvm-svn: 43032 | |||||
* | - Added a few target hooks to generate load / store instructions from / to any | Evan Cheng | 2007-10-05 | 1 | -47/+154 | |
| | | | | | | | | address (not just from / to frameindexes). - Added target hooks to unfold load / store instructions / SDNodes into separate load, data processing, store instructions / SDNodes. llvm-svn: 42621 | |||||
* | Allow copyRegToReg to emit cross register classes copies. | Evan Cheng | 2007-09-26 | 1 | -7/+13 | |
| | | | | | | Tested with "make check"! llvm-svn: 42346 | |||||
* | Fix comments. | Evan Cheng | 2007-09-14 | 1 | -4/+4 | |
| | | | | llvm-svn: 41947 | |||||
* | Add missing index versions of instructions to the map. | Bill Wendling | 2007-09-07 | 1 | -1/+7 | |
| | | | | llvm-svn: 41776 | |||||
* | Change instruction description to split OperandList into OutOperandList and | Evan Cheng | 2007-07-19 | 1 | -2/+2 | |
| | | | | | | | | | | | | | | | InOperandList. This gives one piece of important information: # of results produced by an instruction. An example of the change: def ADD32rr : I<0x01, MRMDestReg, (ops GR32:$dst, GR32:$src1, GR32:$src2), "add{l} {$src2, $dst|$dst, $src2}", [(set GR32:$dst, (add GR32:$src1, GR32:$src2))]>; => def ADD32rr : I<0x01, MRMDestReg, (outs GR32:$dst), (ins GR32:$src1, GR32:$src2), "add{l} {$src2, $dst|$dst, $src2}", [(set GR32:$dst, (add GR32:$src1, GR32:$src2))]>; llvm-svn: 40033 | |||||
* | Long live the exception handling! | Anton Korobeynikov | 2007-07-14 | 1 | -2/+3 | |
| | | | | | | | | | | | | | | | This patch fills the last necessary bits to enable exceptions handling in LLVM. Currently only on x86-32/linux. In fact, this patch adds necessary intrinsics (and their lowering) which represent really weird target-specific gcc builtins used inside unwinder. After corresponding llvm-gcc patch will land (easy) exceptions should be more or less workable. However, exceptions handling support should not be thought as 'finished': I expect many small and not so small glitches everywhere. llvm-svn: 39855 | |||||
* | eliminateFrameIndex() change. | Evan Cheng | 2007-05-01 | 1 | -1/+3 | |
| | | | | llvm-svn: 36626 | |||||
* | Match MachineFunction::UsedPhysRegs changes. | Evan Cheng | 2007-04-25 | 1 | -7/+6 | |
| | | | | llvm-svn: 36452 | |||||
* | The PPC64 ELF ABI is "intended to use the same structure layout and calling ↵ | Nicolas Geoffray | 2007-04-03 | 1 | -66/+19 | |
| | | | | | | | | | convention rules as the 64-bit PowerOpen ABI" (Reference http://www.linux-foundation.org/spec/ELF/ppc64/). Change all ELF tests to ELF32. llvm-svn: 35624 | |||||
* | Addition to the previous commit for getCalleeSavedRegClasses: | Nicolas Geoffray | 2007-04-03 | 1 | -2/+4 | |
| | | | | | | | "The ELF ABI specifies F1-F8 registers as argument registers for double, not F1-F10. This affects only ELF, not MachO." llvm-svn: 35623 | |||||
* | The ELF ABI specifies F1-F8 registers as argument registers for double, not | Nicolas Geoffray | 2007-04-03 | 1 | -3/+5 | |
| | | | | | | F1-F10. This affects only ELF, not MachO. llvm-svn: 35622 | |||||
* | Protect R31's frame offset from being used by callee-saved registers, when R31 | Nicolas Geoffray | 2007-03-21 | 1 | -0/+20 | |
| | | | | | | is the frame pointer. llvm-svn: 35233 | |||||
* | Added MRegisterInfo hook to re-materialize an instruction. | Evan Cheng | 2007-03-20 | 1 | -0/+9 | |
| | | | | llvm-svn: 35205 | |||||
* | Minor interface change. | Evan Cheng | 2007-03-06 | 1 | -1/+2 | |
| | | | | llvm-svn: 34967 | |||||
* | PEI now passes a RegScavenger ptr to eliminateFrameIndex. | Evan Cheng | 2007-02-28 | 1 | -2/+2 | |
| | | | | llvm-svn: 34707 | |||||
* | Duplicate use of LR, take 2. | Jim Laskey | 2007-02-27 | 1 | -26/+34 | |
| | | | | llvm-svn: 34666 | |||||
* | Backing out Jim's LR spill changes. This was causing llvm-gcc bootstrapping | Evan Cheng | 2007-02-27 | 1 | -11/+2 | |
| | | | | | | | | | to infinite loop: PPCMachineFunctionInfo.h updated: 1.2 -> 1.3 PPCRegisterInfo.cpp updated: 1.110 -> 1.111 PPCRegisterInfo.h updated: 1.28 -> 1.29 llvm-svn: 34652 | |||||
* | implement support for the linux/ppc function call ABI. Patch by | Chris Lattner | 2007-02-25 | 1 | -11/+116 | |
| | | | | | | Nicolas Geoffray! llvm-svn: 34574 | |||||
* | Don't spill LR as a callee saved register. | Jim Laskey | 2007-02-23 | 1 | -2/+11 | |
| | | | | llvm-svn: 34533 | |||||
* | By default, spills kills the register being stored. | Evan Cheng | 2007-02-23 | 1 | -15/+15 | |
| | | | | llvm-svn: 34515 | |||||
* | Support to provide exception and selector registers. | Jim Laskey | 2007-02-21 | 1 | -1/+8 | |
| | | | | llvm-svn: 34482 | |||||
* | Re-apply my liveintervalanalysis changes. Now with PR1207 fixes. | Evan Cheng | 2007-02-19 | 1 | -9/+30 | |
| | | | | llvm-svn: 34428 | |||||
* | For PR1207: | Reid Spencer | 2007-02-19 | 1 | -30/+9 | |
| | | | | | | | Revert patches that caused the problem. Evan, please investigate and reapply when you've discovered the problem. llvm-svn: 34399 | |||||
* | Added getReservedRegs(). | Evan Cheng | 2007-02-17 | 1 | -9/+30 | |
| | | | | llvm-svn: 34376 | |||||
* | Support for non-landing pad exception handling. | Jim Laskey | 2007-02-01 | 1 | -0/+4 | |
| | | | | llvm-svn: 33755 | |||||
* | Fix CodeGen/PowerPC/2007-01-31-InlineAsmAddrMode.ll | Chris Lattner | 2007-02-01 | 1 | -0/+3 | |
| | | | | llvm-svn: 33732 | |||||
* | Only gather frame info if debug or eh. | Jim Laskey | 2007-01-29 | 1 | -2/+2 | |
| | | | | llvm-svn: 33639 | |||||
* | Landing pad-less eh for PPC. | Jim Laskey | 2007-01-29 | 1 | -4/+3 | |
| | | | | llvm-svn: 33622 | |||||
* | Change the MachineDebugInfo to MachineModuleInfo to better reflect usage | Jim Laskey | 2007-01-26 | 1 | -8/+8 | |
| | | | | | | for debugging and exception handling. llvm-svn: 33550 | |||||
* | Make LABEL a builtin opcode. | Jim Laskey | 2007-01-26 | 1 | -2/+2 | |
| | | | | llvm-svn: 33537 | |||||
* | Fix comment. | Evan Cheng | 2007-01-25 | 1 | -2/+1 | |
| | | | | llvm-svn: 33508 | |||||
* | - Tell PEI that PPC will handle stack frame rounding itself. | Evan Cheng | 2007-01-25 | 1 | -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 MachineMoves | Jim Laskey | 2007-01-24 | 1 | -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 Cheng | 2007-01-23 | 1 | -1/+1 | |
| | | | | llvm-svn: 33455 | |||||
* | Fix naming inconsistency. | Evan Cheng | 2007-01-02 | 1 | -10/+10 | |
| | | | | llvm-svn: 32823 |