summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/PowerPC
Commit message (Collapse)AuthorAgeFilesLines
...
* Squelch a warning about mismatch between sign of constant and sign of returnReid Spencer2007-04-041-1/+1
| | | | | | type. llvm-svn: 35674
* Starting implementation of the ELF32 ABI specification of varargs handling.Nicolas Geoffray2007-04-032-9/+177
| | | | | | | LowerVASTART emits the right code if the subtarget is ELF32, the other intrinsics (VAARG, VACOPY and VAEND) are not yet implemented. llvm-svn: 35625
* The PPC64 ELF ABI is "intended to use the same structure layout and calling ↵Nicolas Geoffray2007-04-036-92/+46
| | | | | | | | | 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 Geoffray2007-04-031-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, notNicolas Geoffray2007-04-035-10/+12
| | | | | | F1-F10. This affects only ELF, not MachO. llvm-svn: 35622
* Fix a bug which caused us to never be able to use signed comparisons forChris Lattner2007-04-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | equality comparisons of a constant. This allows us to codegen the 'sintzero' loop in PR1288 as: LBB1_1: ;cond_next li r4, 0 addi r2, r2, 1 stw r4, 0(r3) addi r3, r3, 4 cmpwi cr0, r2, -1 bne cr0, LBB1_1 ;cond_next instead of: LBB1_1: ;cond_next addi r2, r2, 1 li r4, 0 xoris r5, r2, 65535 stw r4, 0(r3) addi r3, r3, 4 cmplwi cr0, r5, 65535 bne cr0, LBB1_1 ;cond_next This implements CodeGen/PowerPC/compare-simm.ll, and also cuts 74 instructions out of kc++. llvm-svn: 35590
* add a noteChris Lattner2007-03-311-0/+23
| | | | llvm-svn: 35530
* implement the new addressing mode description hook.Chris Lattner2007-03-302-1/+38
| | | | llvm-svn: 35521
* "The C standards do say that "char" may either be a "signed char" or "unsignedLauro Ramos Venancio2007-03-271-1/+1
| | | | | | | | char" and it is up to the compilers implementation or the platform which is followed." http://www.arm.linux.org.uk/docs/faqs/signedchar.php llvm-svn: 35382
* add a noteChris Lattner2007-03-251-0/+1
| | | | llvm-svn: 35334
* add a noteChris Lattner2007-03-251-0/+13
| | | | llvm-svn: 35330
* Fix CodeGen/PowerPC/2007-03-24-cntlzd.llChris Lattner2007-03-251-1/+4
| | | | llvm-svn: 35329
* switch TargetLowering::getConstraintType to take the entire constraint,Chris Lattner2007-03-252-13/+15
| | | | | | not just the first letter. No functionality change. llvm-svn: 35322
* Protect R31's frame offset from being used by callee-saved registers, when R31Nicolas Geoffray2007-03-211-0/+20
| | | | | | is the frame pointer. llvm-svn: 35233
* Added MRegisterInfo hook to re-materialize an instruction.Evan Cheng2007-03-202-0/+12
| | | | llvm-svn: 35205
* Stack and register alignment of call arguments in the ELF ABINicolas Geoffray2007-03-131-6/+52
| | | | llvm-svn: 35083
* More flexible TargetLowering LSR hooks for testing whether an immediate is a ↵Evan Cheng2007-03-122-5/+10
| | | | | | legal target address immediate or scale. llvm-svn: 35074
* Putting more constants which do not contain relocations into .literal{4|8|16}Evan Cheng2007-03-081-6/+9
| | | | llvm-svn: 35026
* For Darwin, put constant data into .const, .const_data, .literal{4|8|16}Evan Cheng2007-03-082-2/+27
| | | | | | sections. llvm-svn: 35017
* Minor interface change.Evan Cheng2007-03-062-2/+4
| | | | llvm-svn: 34967
* Switch PPC return lower to use an autogenerated CC description.Chris Lattner2007-03-064-41/+103
| | | | llvm-svn: 34940
* Emit low/high immediate loads properly for Linux/PPC.Nick Lewycky2007-03-031-6/+10
| | | | llvm-svn: 34871
* Implemented the frameaddress intrinsic for PPC.Nicolas Geoffray2007-03-012-1/+25
| | | | llvm-svn: 34787
* More Mach-O writer improvements.Nate Begeman2007-02-282-6/+16
| | | | llvm-svn: 34740
* PEI now passes a RegScavenger ptr to eliminateFrameIndex.Evan Cheng2007-02-282-3/+4
| | | | llvm-svn: 34707
* Fix parenthesis for BCTRL_{ELF|Macho} test.Nicolas Geoffray2007-02-271-1/+1
| | | | llvm-svn: 34668
* Differentiate between the MachO and the ELF ABI the CALL instruction.Nicolas Geoffray2007-02-274-12/+12
| | | | llvm-svn: 34667
* Duplicate use of LR, take 2.Jim Laskey2007-02-273-26/+42
| | | | llvm-svn: 34666
* Backing out Jim's LR spill changes. This was causing llvm-gcc bootstrappingEvan Cheng2007-02-273-19/+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
* always lower to RETFLAG, never leave it as just ret.Chris Lattner2007-02-262-11/+7
| | | | llvm-svn: 34639
* no really, this is the right patchChris Lattner2007-02-251-1/+1
| | | | llvm-svn: 34605
* always promote float varargs to double.Chris Lattner2007-02-251-1/+1
| | | | llvm-svn: 34604
* one important bugfix: PPC32 didn't have both elf and macho support forChris Lattner2007-02-252-6/+10
| | | | | | | | | external symbols and global addresses. Add the missing ones. one important workaround: PPCISD::CALL is matched by both PPCcall_ELF and PPCcall_Macho, disable the _ELF patterns for now. llvm-svn: 34601
* implement support for the linux/ppc function call ABI. Patch byChris Lattner2007-02-258-102/+343
| | | | | | Nicolas Geoffray! llvm-svn: 34574
* Add XLForm_1_ext template, patch by Nicolas Geoffray.Chris Lattner2007-02-251-14/+24
| | | | llvm-svn: 34573
* Improve JIT support for linux/ppc: Patch by Nicolas Geoffray!Chris Lattner2007-02-253-2/+70
| | | | llvm-svn: 34572
* Don't spill LR as a callee saved register.Jim Laskey2007-02-233-2/+19
| | | | llvm-svn: 34533
* By default, spills kills the register being stored.Evan Cheng2007-02-231-15/+15
| | | | llvm-svn: 34515
* remove obsolete fileChris Lattner2007-02-221-7/+0
| | | | llvm-svn: 34506
* Simplify lowering and selection of exception ops.Jim Laskey2007-02-221-34/+15
| | | | llvm-svn: 34488
* Support to provide exception and selector registers.Jim Laskey2007-02-213-1/+40
| | | | llvm-svn: 34482
* Add support for changes in DwarfWriter.Jim Laskey2007-02-211-0/+14
| | | | llvm-svn: 34478
* Add TAI field for exception table section.Jim Laskey2007-02-211-0/+1
| | | | llvm-svn: 34477
* Re-apply my liveintervalanalysis changes. Now with PR1207 fixes.Evan Cheng2007-02-192-9/+32
| | | | llvm-svn: 34428
* For PR1207:Reid Spencer2007-02-192-32/+9
| | | | | | | Revert patches that caused the problem. Evan, please investigate and reapply when you've discovered the problem. llvm-svn: 34399
* Added getReservedRegs().Evan Cheng2007-02-172-9/+32
| | | | llvm-svn: 34376
* Fix ixaddrs as well, allowing ppc64 to compile to:Chris Lattner2007-02-171-17/+22
| | | | | | | | | | | | | | | | | | | | | _test2: li r2, 0 lis r3, 1 std r2, 9024(r3) blr instead of: _test2: lis r2, 1 li r3, 0 ori r2, r2, 9024 std r3, 0(r2) blr This implements CodeGen/PowerPC/LargeAbsoluteAddr.ll:test2 llvm-svn: 34373
* Compile test/CodeGen/PowerPC/LargeAbsoluteAddr.ll to:Chris Lattner2007-02-171-5/+9
| | | | | | | | | | | | | | | | | | | _test: lis r2, 743 li r3, 0 stw r3, 32751(r2) blr instead of: _test: li r2, 0 stw r2, 32751(48693248) blr Implement support for ppc64 as well, allowing it to produce better code. llvm-svn: 34371
* fix incorrect encoding of vminsw.Chris Lattner2007-02-161-1/+1
| | | | llvm-svn: 34351
* Generalize TargetData strings, to support more interesting forms of data.Chris Lattner2007-02-141-2/+2
| | | | | | Patch by Scott Michel. llvm-svn: 34266
OpenPOWER on IntegriCloud