summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/PowerPC/PPCSubtarget.h
Commit message (Collapse)AuthorAgeFilesLines
* Use indirect calls in PowerPC JIT.Torok Edwin2010-08-041-0/+4
| | | | | | | | | See PR5201. There is no way to know if direct calls will be within the allowed range for BL. Hence emit all calls as indirect when in JIT mode. Without this long-running applications will fail to JIT on PowerPC with a relocation failure. llvm-svn: 110246
* indicate what the native integer types for the target are.Chris Lattner2009-11-071-2/+2
| | | | | | Please verify. llvm-svn: 86397
* Add support for the PowerPC 64-bit SVR4 ABI.Tilmann Scheller2009-08-151-2/+3
| | | | | | | | | | | | | | | | | The Link Register is volatile when using the 32-bit SVR4 ABI. Make it possible to use the 64-bit SVR4 ABI. Add non-volatile registers for the 64-bit SVR4 ABI. Make sure r2 is a reserved register when using the 64-bit SVR4 ABI. Update PPCFrameInfo for the 64-bit SVR4 ABI. Add FIXME for 64-bit Darwin PPC. Insert NOP instruction after direct function calls. Emit official procedure descriptors. Create TOC entries for GlobalAddress references. Spill 64-bit non-volatile registers to the correct slots. Only custom lower VAARG when using the 32-bit SVR4 ABI. Use simple VASTART lowering for the 64-bit SVR4 ABI. llvm-svn: 79091
* eliminate asmflavor from subtarget, PPCTAI is the only clientChris Lattner2009-08-111-11/+0
| | | | | | and each callee knows that it returns. llvm-svn: 78742
* Normalize Subtarget constructors to take a target triple string instead ofDaniel Dunbar2009-08-021-7/+4
| | | | | | | | | | Module*. Also, dropped uses of TargetMachine where unnecessary. The only target which still takes a TargetMachine& is Mips, I would appreciate it if someone would normalize this to match other targets. llvm-svn: 77918
* Refactor ABI code in the PowerPC backend.Tilmann Scheller2009-07-031-2/+2
| | | | | | | | | | | Make CalculateParameterAndLinkageAreaSize() Darwin-specific. Remove SVR4 specific code from LowerCALL_Darwin() and LowerFORMAL_ARGUMENTS_Darwin(). Rename MachoABI to DarwinABI for consistency. Rename ELF ABI to SVR4 ABI for consistency. Factor out common call return lowering between the Darwin and SVR4 ABI. Factor out common call lowering between the Darwin and SVR4 ABI. llvm-svn: 74766
* Propagate CPU string out of SubtargetFeaturesAnton Korobeynikov2009-05-231-1/+3
| | | | llvm-svn: 72335
* Alignment values for i64 and f64 on ppc64 were wrong,Dale Johannesen2009-02-271-1/+3
| | | | | | | | possibly for the reason suggested by the comment. No wonder it didn't work very well. This unblocks bootstrap with assertions on ppc. llvm-svn: 65601
* Fix bug 3202.Rafael Espindola2008-12-191-0/+3
| | | | | | | The EH_frame and .eh symbols are now private, except for darwin9 and earlier. The patch also fixes the definition of PrivateGlobalPrefix on pcc linux. llvm-svn: 61242
* Rewrite tblgen handling of subtarget features soDale Johannesen2008-02-141-0/+1
| | | | | | | | | | it follows the order of the enum, not alphabetical. The motivation is to make -mattr=+ssse3,+sse41 select SSE41 as it ought to. Added "ignored" enum values of 0 to PPC and SPU to avoid compiler warnings. llvm-svn: 47143
* leopard and above support alignment for common symbols.Chris Lattner2008-01-021-4/+10
| | | | llvm-svn: 45493
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45418
* long double patch 2 of N. Handle it in TargetData.Dale Johannesen2007-08-031-2/+2
| | | | | | | (I've tried to get the info right for all targets, but I'm not expert on all of them - check yours.) llvm-svn: 40792
* The PPC64 ELF ABI is "intended to use the same structure layout and calling ↵Nicolas Geoffray2007-04-031-2/+2
| | | | | | | | | 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
* Improve JIT support for linux/ppc: Patch by Nicolas Geoffray!Chris Lattner2007-02-251-0/+3
| | | | llvm-svn: 34572
* Generalize TargetData strings, to support more interesting forms of data.Chris Lattner2007-02-141-2/+2
| | | | | | Patch by Scott Michel. llvm-svn: 34266
* Double and long preferred alignment set to 8 bytes.Evan Cheng2007-01-221-1/+2
| | | | llvm-svn: 33447
* Needed to build on PPC Linux.Nick Lewycky2007-01-191-0/+3
| | | | llvm-svn: 33352
* Instead of yet another enum indicating the "assembly language flavor",Bill Wendling2007-01-161-1/+12
| | | | | | just use the one that's in the subtarget. llvm-svn: 33255
* Honor cpu directive, take two.Jim Laskey2006-12-121-0/+22
| | | | llvm-svn: 32492
* Another step forward in PPC64 JIT support: we now no-longer need stubsChris Lattner2006-12-111-2/+16
| | | | | | | | | | emitted for external globals in PPC64-JIT-PIC mode (which is good because we didn't handle them before!). This also fixes a bug handling the picbase delta, which we would get wrong in some cases. llvm-svn: 32451
* getInstrItineraryData shouldn't copy the itinerariesChris Lattner2006-12-111-1/+1
| | | | llvm-svn: 32448
* Remove what little AIX support we have. It has never been tested and isn'tChris Lattner2006-07-151-2/+0
| | | | | | complete. llvm-svn: 29156
* Document the subtarget features better, make sure that 64-bit mode, 64-bitChris Lattner2006-06-161-6/+21
| | | | | | | | | | support, and 64-bit register use are all consistent with each other. Add a new "IsPPC" feature, to distinguish ppc32 vs ppc64 targets, use this to configure TargetData differently. This not makes ppc64 blow up on lots of stuff :) llvm-svn: 28825
* Rename some subtarget features. A CPU now can *have* 64-bit instructions,Chris Lattner2006-06-161-4/+4
| | | | | | can in 32-bit mode we can choose to optionally *use* 64-bit registers. llvm-svn: 28824
* First baby step towards ppc64 support. This adds a new -march=ppc64 backendChris Lattner2006-06-161-1/+5
| | | | | | that is currently just like ppc32 :) llvm-svn: 28813
* Add a subtarget feature for the stfiwx instruction. I know the G5 has it,Chris Lattner2006-02-281-0/+2
| | | | | | | but I don't know what other PPC impls do. If someone could update the proc table, I would appreciate it :) llvm-svn: 26421
* Allow itineraries to be passed through the Target Machine.Jim Laskey2005-11-011-0/+9
| | | | llvm-svn: 24139
* Typo made worse x 2 - take 2.Jim Laskey2005-10-261-1/+1
| | | | llvm-svn: 24018
* Typo x 2Jim Laskey2005-10-261-1/+1
| | | | llvm-svn: 24016
* Give full control of subtarget features over to table generated code.Jim Laskey2005-10-261-1/+7
| | | | llvm-svn: 24013
* Do the right thing and enable 64 bit regs under the control of a subtargetNate Begeman2005-10-181-0/+2
| | | | | | | option. Currently the only way to enable this is to specify the 64bitregs mattr flag. It is never enabled by default on any config yet. llvm-svn: 23779
* More PPC32 -> PPC changes, as well as merging some classes that wereNate Begeman2005-10-161-1/+1
| | | | | | redundant after the change. llvm-svn: 23759
* copy and paste errorAndrew Lenharth2005-09-291-1/+1
| | | | llvm-svn: 23528
* Add accessor for 64bit flag, so that we can tell when it is safe toNate Begeman2005-09-061-1/+2
| | | | | | generate the fun in-register fp<->long instructions. llvm-svn: 23244
* Decouple fsqrt from gpul optimizations, implementing fsqrt.ll.Chris Lattner2005-09-021-0/+3
| | | | | | Remove the -enable-gpopt option which is subsumed by feature flags. llvm-svn: 23218
* 1. Use SubtargetFeatures in llc/lli.Jim Laskey2005-09-011-1/+3
| | | | | | | | 2. Propagate feature "string" to all targets. 3. Implement use of SubtargetFeatures in PowerPCTargetSubtarget. llvm-svn: 23192
* Consolidate the GPOpt stuff to all use the Subtarget, instead of stillChris Lattner2005-08-051-7/+9
| | | | | | | | depending on the command line option. Now the command line option just sets the subtarget as appropriate. G5 opts will now default to on on G5-enabled nightly testers among other machines. llvm-svn: 22688
* Add Subtarget support to PowerPC. Next up, using it.Nate Begeman2005-08-041-0/+48
llvm-svn: 22644
OpenPOWER on IntegriCloud