LLVM API Documentation

Public Types | Public Member Functions | Protected Types | Protected Attributes
llvm::MipsSubtarget Class Reference

#include <MipsSubtarget.h>

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

List of all members.

Public Types

enum  MipsABIEnum {
  UnknownABI, O32, N32, N64,
  EABI
}

Public Member Functions

virtual bool enablePostRAScheduler (CodeGenOpt::Level OptLevel, AntiDepBreakMode &Mode, RegClassVector &CriticalPathRCs) const
bool isABI_EABI () const
 Only O32 and EABI supported right now.
bool isABI_N64 () const
bool isABI_N32 () const
bool isABI_O32 () const
unsigned getTargetABI () const
 MipsSubtarget (const std::string &TT, const std::string &CPU, const std::string &FS, bool little, Reloc::Model RM, MipsTargetMachine *TM)
void ParseSubtargetFeatures (StringRef CPU, StringRef FS)
bool hasMips32 () const
bool hasMips32r2 () const
bool hasMips64 () const
bool hasMips64r2 () const
bool isLittle () const
bool isFP64bit () const
bool isGP64bit () const
bool isGP32bit () const
bool isSingleFloat () const
bool isNotSingleFloat () const
bool hasVFPU () const
bool inMips16Mode () const
bool inMips16ModeDefault () const
bool inMips16HardFloat () const
bool inMicroMipsMode () const
bool hasDSP () const
bool hasDSPR2 () const
bool isLinux () const
bool useSmallSection () const
bool hasStandardEncoding () const
bool hasSEInReg () const
 Features related to the presence of specific instructions.
bool hasCondMov () const
bool hasSwap () const
bool hasBitCount () const
bool hasFPIdx () const
bool allowMixed16_32 () const
bool os16 () const
const MipsReginfogetMReginfo () const
Reloc::Model getRelocationModel () const
void resetSubtarget (MachineFunction *MF)
 Reset the subtarget for the Mips target.

Protected Types

enum  MipsArchEnum { Mips32, Mips32r2, Mips64, Mips64r2 }
enum  { NoOverride, Mips16Override, NoMips16Override }

Protected Attributes

MipsArchEnum MipsArchVersion
MipsABIEnum MipsABI
bool IsLittle
bool IsSingleFloat
bool IsFP64bit
bool IsGP64bit
bool HasVFPU
bool IsLinux
bool UseSmallSection
bool HasSEInReg
 Features related to the presence of specific instructions.
bool HasCondMov
bool HasSwap
bool HasBitCount
bool HasFPIdx
bool InMips16Mode
bool InMips16HardFloat
bool PreviousInMips16Mode
bool InMicroMipsMode
bool HasDSP
bool HasDSPR2
bool AllowMixed16_32
bool Os16
InstrItineraryData InstrItins
MipsReginfo MRI
Reloc::Model RM
enum llvm::MipsSubtarget:: { ... }  OverrideMode
MipsTargetMachineTM

Detailed Description

Definition at line 32 of file MipsSubtarget.h.


Member Enumeration Documentation

anonymous enum [protected]
Enumerator:
NoOverride 
Mips16Override 
NoMips16Override 

Definition at line 126 of file MipsSubtarget.h.

Enumerator:
UnknownABI 
O32 
N32 
N64 
EABI 

Definition at line 37 of file MipsSubtarget.h.

Enumerator:
Mips32 
Mips32r2 
Mips64 
Mips64r2 

Definition at line 43 of file MipsSubtarget.h.


Constructor & Destructor Documentation

MipsSubtarget::MipsSubtarget ( const std::string &  TT,
const std::string &  CPU,
const std::string &  FS,
bool  little,
Reloc::Model  RM,
MipsTargetMachine TM 
)

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

Definition at line 58 of file MipsSubtarget.cpp.

References hasMips64(), InMips16Mode, InstrItins, isABI_EABI(), isABI_N32(), isABI_N64(), isABI_O32(), IsLinux, MipsABI, N64, O32, ParseSubtargetFeatures(), PreviousInMips16Mode, RM, llvm::Reloc::Static, UnknownABI, and UseSmallSection.


Member Function Documentation

bool llvm::MipsSubtarget::allowMixed16_32 ( ) const [inline]
virtual bool llvm::MipsSubtarget::enablePostRAScheduler ( CodeGenOpt::Level  OptLevel,
AntiDepBreakMode &  Mode,
RegClassVector &  CriticalPathRCs 
) const [virtual]
const MipsReginfo& llvm::MipsSubtarget::getMReginfo ( ) const [inline]

Definition at line 203 of file MipsSubtarget.h.

References MRI.

Referenced by llvm::MipsAsmPrinter::EmitEndOfAsmFile().

Reloc::Model llvm::MipsSubtarget::getRelocationModel ( ) const [inline]
unsigned llvm::MipsSubtarget::getTargetABI ( ) const [inline]

Definition at line 140 of file MipsSubtarget.h.

References MipsABI.

Referenced by llvm::MipsAsmPrinter::getCurrentABIString().

bool llvm::MipsSubtarget::hasBitCount ( ) const [inline]

Definition at line 194 of file MipsSubtarget.h.

References HasBitCount.

Referenced by llvm::MipsTargetLowering::MipsTargetLowering().

bool llvm::MipsSubtarget::hasCondMov ( ) const [inline]

Definition at line 192 of file MipsSubtarget.h.

References HasCondMov.

bool llvm::MipsSubtarget::hasDSP ( ) const [inline]
bool llvm::MipsSubtarget::hasDSPR2 ( ) const [inline]
bool llvm::MipsSubtarget::hasFPIdx ( ) const [inline]

Definition at line 195 of file MipsSubtarget.h.

References HasFPIdx.

bool llvm::MipsSubtarget::hasMips32 ( ) const [inline]

Definition at line 152 of file MipsSubtarget.h.

References Mips32, and MipsArchVersion.

Referenced by performADDECombine(), and performSUBECombine().

bool llvm::MipsSubtarget::hasMips32r2 ( ) const [inline]
bool llvm::MipsSubtarget::hasMips64 ( ) const [inline]
bool llvm::MipsSubtarget::hasMips64r2 ( ) const [inline]
bool llvm::MipsSubtarget::hasSEInReg ( ) const [inline]

Features related to the presence of specific instructions.

Definition at line 191 of file MipsSubtarget.h.

References HasSEInReg.

Referenced by llvm::MipsTargetLowering::MipsTargetLowering().

bool llvm::MipsSubtarget::hasStandardEncoding ( ) const [inline]

Definition at line 188 of file MipsSubtarget.h.

References inMips16Mode().

bool llvm::MipsSubtarget::hasSwap ( ) const [inline]

Definition at line 193 of file MipsSubtarget.h.

References HasSwap.

Referenced by llvm::MipsTargetLowering::MipsTargetLowering().

bool llvm::MipsSubtarget::hasVFPU ( ) const [inline]

Definition at line 164 of file MipsSubtarget.h.

References HasVFPU.

bool llvm::MipsSubtarget::inMicroMipsMode ( ) const [inline]
bool llvm::MipsSubtarget::inMips16HardFloat ( ) const [inline]
bool llvm::MipsSubtarget::inMips16Mode ( ) const [inline]
bool llvm::MipsSubtarget::inMips16ModeDefault ( ) const [inline]

Definition at line 176 of file MipsSubtarget.h.

References InMips16Mode.

Referenced by allowMixed16_32().

bool llvm::MipsSubtarget::isABI_EABI ( ) const [inline]

Only O32 and EABI supported right now.

Definition at line 136 of file MipsSubtarget.h.

References EABI, and MipsABI.

Referenced by llvm::MipsAsmPrinter::EmitStartOfAsmFile(), and MipsSubtarget().

bool llvm::MipsSubtarget::isABI_N32 ( ) const [inline]
bool llvm::MipsSubtarget::isABI_N64 ( ) const [inline]
bool llvm::MipsSubtarget::isABI_O32 ( ) const [inline]
bool llvm::MipsSubtarget::isFP64bit ( ) const [inline]

Definition at line 159 of file MipsSubtarget.h.

References IsFP64bit.

bool llvm::MipsSubtarget::isGP32bit ( ) const [inline]

Definition at line 161 of file MipsSubtarget.h.

References IsGP64bit.

Referenced by llvm::MipsAsmPrinter::EmitStartOfAsmFile().

bool llvm::MipsSubtarget::isGP64bit ( ) const [inline]

Definition at line 160 of file MipsSubtarget.h.

References IsGP64bit.

Referenced by llvm::MipsAsmPrinter::PrintAsmOperand().

bool llvm::MipsSubtarget::isLinux ( ) const [inline]

Definition at line 185 of file MipsSubtarget.h.

References IsLinux.

bool llvm::MipsSubtarget::isLittle ( ) const [inline]
bool llvm::MipsSubtarget::isNotSingleFloat ( ) const [inline]

Definition at line 163 of file MipsSubtarget.h.

References IsSingleFloat.

bool llvm::MipsSubtarget::isSingleFloat ( ) const [inline]
bool llvm::MipsSubtarget::os16 ( ) const [inline]

Definition at line 200 of file MipsSubtarget.h.

References Os16.

void llvm::MipsSubtarget::ParseSubtargetFeatures ( StringRef  CPU,
StringRef  FS 
)

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

Referenced by MipsSubtarget().

void MipsSubtarget::resetSubtarget ( MachineFunction MF)
bool llvm::MipsSubtarget::useSmallSection ( ) const [inline]

Member Data Documentation

Definition at line 109 of file MipsSubtarget.h.

Referenced by allowMixed16_32().

Definition at line 88 of file MipsSubtarget.h.

Referenced by hasBitCount().

Definition at line 82 of file MipsSubtarget.h.

Referenced by hasCondMov().

Definition at line 106 of file MipsSubtarget.h.

Referenced by hasDSP().

Definition at line 106 of file MipsSubtarget.h.

Referenced by hasDSPR2().

Definition at line 91 of file MipsSubtarget.h.

Referenced by hasFPIdx().

Features related to the presence of specific instructions.

Definition at line 79 of file MipsSubtarget.h.

Referenced by hasSEInReg().

Definition at line 85 of file MipsSubtarget.h.

Referenced by hasSwap().

Definition at line 68 of file MipsSubtarget.h.

Referenced by hasVFPU().

Definition at line 103 of file MipsSubtarget.h.

Referenced by inMicroMipsMode().

Definition at line 97 of file MipsSubtarget.h.

Referenced by inMips16HardFloat().

Definition at line 94 of file MipsSubtarget.h.

Referenced by inMips16Mode(), inMips16ModeDefault(), and MipsSubtarget().

Definition at line 116 of file MipsSubtarget.h.

Referenced by MipsSubtarget().

Definition at line 62 of file MipsSubtarget.h.

Referenced by isFP64bit().

Definition at line 65 of file MipsSubtarget.h.

Referenced by isGP32bit(), and isGP64bit().

Definition at line 71 of file MipsSubtarget.h.

Referenced by isLinux(), and MipsSubtarget().

Definition at line 54 of file MipsSubtarget.h.

Referenced by isLittle().

Definition at line 59 of file MipsSubtarget.h.

Referenced by isNotSingleFloat(), and isSingleFloat().

Definition at line 51 of file MipsSubtarget.h.

Referenced by getTargetABI(), isABI_EABI(), isABI_N32(), isABI_N64(), isABI_O32(), and MipsSubtarget().

Definition at line 48 of file MipsSubtarget.h.

Referenced by hasMips32(), hasMips32r2(), hasMips64(), and hasMips64r2().

Definition at line 119 of file MipsSubtarget.h.

Referenced by getMReginfo().

Definition at line 114 of file MipsSubtarget.h.

Referenced by os16().

enum { ... } llvm::MipsSubtarget::OverrideMode [protected]

Referenced by inMips16Mode(), and resetSubtarget().

Definition at line 100 of file MipsSubtarget.h.

Referenced by MipsSubtarget(), and resetSubtarget().

Definition at line 122 of file MipsSubtarget.h.

Referenced by getRelocationModel(), and MipsSubtarget().

Definition at line 128 of file MipsSubtarget.h.

Referenced by resetSubtarget().

Definition at line 74 of file MipsSubtarget.h.

Referenced by MipsSubtarget(), and useSmallSection().


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