LLVM API Documentation

llvm::PPCSubtarget Class Reference

#include <PPCSubtarget.h>

Inheritance diagram for llvm::PPCSubtarget:

Inheritance graph
[legend]
Collaboration diagram for llvm::PPCSubtarget:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 PPCSubtarget (const Module &M, const std::string &FS, bool is64Bit)
void ParseSubtargetFeatures (const std::string &FS, const std::string &CPU)
unsigned getStackAlignment () const
const InstrItineraryData getInstrItineraryData () const
const char * getTargetDataString () const
bool isPPC64 () const
bool has64BitSupport () const
bool use64BitRegs () const
bool hasFSQRT () const
bool hasSTFIWX () const
bool hasAltivec () const
bool isGigaProcessor () const
bool isDarwin () const

Protected Attributes

unsigned StackAlignment
InstrItineraryData InstrItins
 Selected instruction itineraries (one entry per itinerary class.).
bool IsGigaProcessor
 Used by the ISel to turn in optimizations for POWER4-derived architectures.
bool Has64BitSupport
bool Use64BitRegs
bool IsPPC64
bool HasAltivec
bool HasFSQRT
bool HasSTFIWX
bool IsDarwin

Detailed Description

Definition at line 25 of file PPCSubtarget.h.


Constructor & Destructor Documentation

PPCSubtarget::PPCSubtarget ( const Module M,
const std::string &  FS,
bool  is64Bit 
)

This constructor initializes the data members to match that of the specified module.

Definition at line 59 of file PPCSubtarget.cpp.

References llvm::Module::getTargetTriple(), Has64BitSupport, has64BitSupport(), IsDarwin, M, ParseSubtargetFeatures(), use64BitRegs(), and Use64BitRegs.


Member Function Documentation

void llvm::PPCSubtarget::ParseSubtargetFeatures ( const std::string &  FS,
const std::string &  CPU 
)

ParseSubtargetFeatures - Parses features string setting specified subtarget options. Definition of function is auto generated by tblgen.

Referenced by PPCSubtarget().

unsigned llvm::PPCSubtarget::getStackAlignment (  )  const [inline]

getStackAlignment - Returns the minimum alignment known to hold of the stack frame on entry to the function and which must be maintained by every function for this subtarget.

Definition at line 56 of file PPCSubtarget.h.

References StackAlignment.

const InstrItineraryData llvm::PPCSubtarget::getInstrItineraryData (  )  const [inline]

getInstrItins - Return the instruction itineraies based on subtarget selection.

Definition at line 60 of file PPCSubtarget.h.

References InstrItins.

const char* llvm::PPCSubtarget::getTargetDataString (  )  const [inline]

getTargetDataString - Return the pointer size and type alignment properties of this subtarget.

Definition at line 64 of file PPCSubtarget.h.

References isPPC64().

bool llvm::PPCSubtarget::isPPC64 (  )  const [inline]

isPPC64 - Return true if we are generating code for 64-bit pointer mode.

Definition at line 70 of file PPCSubtarget.h.

References IsPPC64.

Referenced by llvm::PPCRegisterInfo::getCalleeSaveRegClasses(), llvm::PPCRegisterInfo::getCalleeSaveRegs(), llvm::PPCInstrInfo::getPointerRegClass(), and getTargetDataString().

bool llvm::PPCSubtarget::has64BitSupport (  )  const [inline]

has64BitSupport - Return true if the selected CPU supports 64-bit instructions, regardless of whether we are in 32-bit or 64-bit mode.

Definition at line 74 of file PPCSubtarget.h.

References Has64BitSupport.

Referenced by PPCSubtarget().

bool llvm::PPCSubtarget::use64BitRegs (  )  const [inline]

use64BitRegs - Return true if in 64-bit mode or if we should use 64-bit registers in 32-bit mode when possible. This can only true if has64BitSupport() returns true.

Definition at line 79 of file PPCSubtarget.h.

References Use64BitRegs.

Referenced by PPCSubtarget().

bool llvm::PPCSubtarget::hasFSQRT (  )  const [inline]

Definition at line 83 of file PPCSubtarget.h.

References HasFSQRT.

bool llvm::PPCSubtarget::hasSTFIWX (  )  const [inline]

Definition at line 84 of file PPCSubtarget.h.

References HasSTFIWX.

bool llvm::PPCSubtarget::hasAltivec (  )  const [inline]

Definition at line 85 of file PPCSubtarget.h.

References HasAltivec.

bool llvm::PPCSubtarget::isGigaProcessor (  )  const [inline]

Definition at line 86 of file PPCSubtarget.h.

References IsGigaProcessor.

bool llvm::PPCSubtarget::isDarwin (  )  const [inline]

Definition at line 88 of file PPCSubtarget.h.

References IsDarwin.

Referenced by llvm::PPCTargetMachine::PPCTargetMachine().


Member Data Documentation

unsigned llvm::PPCSubtarget::StackAlignment [protected]

stackAlignment - The minimum alignment known to hold of the stack frame on entry to the function and which must be maintained by every function.

Definition at line 29 of file PPCSubtarget.h.

Referenced by getStackAlignment().

InstrItineraryData llvm::PPCSubtarget::InstrItins [protected]

Selected instruction itineraries (one entry per itinerary class.).

Definition at line 32 of file PPCSubtarget.h.

Referenced by getInstrItineraryData().

bool llvm::PPCSubtarget::IsGigaProcessor [protected]

Used by the ISel to turn in optimizations for POWER4-derived architectures.

Definition at line 35 of file PPCSubtarget.h.

Referenced by isGigaProcessor().

bool llvm::PPCSubtarget::Has64BitSupport [protected]

Definition at line 36 of file PPCSubtarget.h.

Referenced by has64BitSupport(), and PPCSubtarget().

bool llvm::PPCSubtarget::Use64BitRegs [protected]

Definition at line 37 of file PPCSubtarget.h.

Referenced by PPCSubtarget(), and use64BitRegs().

bool llvm::PPCSubtarget::IsPPC64 [protected]

Definition at line 38 of file PPCSubtarget.h.

Referenced by isPPC64().

bool llvm::PPCSubtarget::HasAltivec [protected]

Definition at line 39 of file PPCSubtarget.h.

Referenced by hasAltivec().

bool llvm::PPCSubtarget::HasFSQRT [protected]

Definition at line 40 of file PPCSubtarget.h.

Referenced by hasFSQRT().

bool llvm::PPCSubtarget::HasSTFIWX [protected]

Definition at line 41 of file PPCSubtarget.h.

Referenced by hasSTFIWX().

bool llvm::PPCSubtarget::IsDarwin [protected]

Definition at line 42 of file PPCSubtarget.h.

Referenced by isDarwin(), and PPCSubtarget().


The documentation for this class was generated from the following files: