|
LLVM
4.0.0
|
#include <MipsSubtarget.h>
Static Public Member Functions | |
| static bool | useConstantIslands () |
Definition at line 36 of file MipsSubtarget.h.
| MipsSubtarget::MipsSubtarget | ( | const Triple & | TT, |
| const std::string & | CPU, | ||
| const std::string & | FS, | ||
| bool | little, | ||
| const MipsTargetMachine & | TM | ||
| ) |
This constructor initializes the data members to match that of the specified triple.
Definition at line 62 of file MipsSubtarget.cpp.
References assert(), llvm::errs(), GPOpt, hasDSP(), hasMips32r6(), hasMips64r6(), hasMSA(), isABI_N32(), isABI_N64(), isABI_O32(), isFP64bit(), isGP64bit(), isNaN2008(), llvm::TargetMachine::isPositionIndependent(), llvm::report_fatal_error(), and useOddSPReg().
|
inline |
Definition at line 267 of file MipsSubtarget.h.
References inMips16ModeDefault().
Referenced by enableLongBranchPass(), and llvm::MipsTargetMachine::getTargetIRAnalysis().
|
inline |
Definition at line 259 of file MipsSubtarget.h.
References allowMixed16_32(), and hasStandardEncoding().
|
override |
This overrides the PostRAScheduler bit in the SchedModel for each CPU.
This overrides the PostRAScheduler bit in the SchedModel for any CPU.
Definition at line 134 of file MipsSubtarget.cpp.
| const MipsABIInfo & MipsSubtarget::getABI | ( | ) | const |
Definition at line 174 of file MipsSubtarget.cpp.
References llvm::MipsTargetMachine::getABI().
Referenced by llvm::MipsSEInstrInfo::adjustStackPtr(), llvm::MipsSEFrameLowering::determineCalleeSaves(), llvm::MipsFrameLowering::eliminateCallFramePseudoInstr(), llvm::MipsSEFrameLowering::emitEpilogue(), llvm::MipsSEFrameLowering::emitPrologue(), llvm::MipsInstrInfo::getEquivalentCompactForm(), llvm::MipsSEFrameLowering::getFrameIndexReference(), isABI_N32(), isABI_N64(), isABI_O32(), llvm::MipsSEInstrInfo::loadRegFromStack(), and llvm::MipsSEFrameLowering::spillCalleeSavedRegisters().
|
override |
Definition at line 136 of file MipsSubtarget.cpp.
References isGP64bit().
|
inlineoverride |
Definition at line 301 of file MipsSubtarget.h.
Referenced by llvm::MipsRegisterInfo::canRealignStack(), llvm::MipsRegisterInfo::getFrameRegister(), llvm::MipsRegisterInfo::getReservedRegs(), and llvm::MipsTargetLowering::HandleByVal().
|
inline |
Definition at line 229 of file MipsSubtarget.h.
References isGP64bit().
Referenced by llvm::MipsTargetLowering::HandleByVal().
|
inlineoverride |
Definition at line 300 of file MipsSubtarget.h.
Referenced by llvm::Mips16FrameLowering::determineCalleeSaves(), llvm::MipsFrameLowering::eliminateCallFramePseudoInstr(), llvm::Mips16FrameLowering::emitEpilogue(), llvm::MipsSEFrameLowering::emitEpilogue(), llvm::MipsTargetLowering::EmitInstrWithCustomInserter(), llvm::Mips16FrameLowering::emitPrologue(), llvm::MipsSEFrameLowering::emitPrologue(), and llvm::MipsSEFrameLowering::spillCalleeSavedRegisters().
|
inlineoverride |
Definition at line 310 of file MipsSubtarget.h.
|
override |
Definition at line 142 of file MipsSubtarget.cpp.
References llvm::CodeGenOpt::Aggressive.
|
inlineoverride |
Definition at line 304 of file MipsSubtarget.h.
Referenced by llvm::MipsSEFrameLowering::emitEpilogue(), llvm::MipsSEFrameLowering::emitPrologue(), llvm::MipsFrameLowering::estimateStackSize(), llvm::MipsTargetLowering::getOpndList(), llvm::MipsFrameLowering::hasBP(), llvm::MipsFrameLowering::hasFP(), llvm::Mips16TargetLowering::Mips16TargetLowering(), and llvm::MipsSETargetLowering::MipsSETargetLowering().
| Reloc::Model MipsSubtarget::getRelocationModel | ( | ) | const |
Definition at line 167 of file MipsSubtarget.cpp.
References llvm::TargetMachine::getRelocationModel().
|
inlineoverride |
Definition at line 297 of file MipsSubtarget.h.
|
inlineoverride |
Definition at line 307 of file MipsSubtarget.h.
|
inline |
Definition at line 218 of file MipsSubtarget.h.
Referenced by llvm::MipsSETargetLowering::MipsSETargetLowering(), and llvm::MipsTargetLowering::MipsTargetLowering().
|
inline |
Definition at line 248 of file MipsSubtarget.h.
Referenced by llvm::MipsSETargetLowering::getRepRegClassFor(), llvm::MipsSETargetLowering::MipsSETargetLowering(), MipsSubtarget(), and performDSPShiftCombine().
|
inline |
Definition at line 249 of file MipsSubtarget.h.
Referenced by llvm::MipsSETargetLowering::MipsSETargetLowering(), performSRACombine(), and performSRLCombine().
|
inline |
Definition at line 250 of file MipsSubtarget.h.
|
inline |
Definition at line 252 of file MipsSubtarget.h.
|
inline |
Features related to the presence of specific instructions.
Definition at line 264 of file MipsSubtarget.h.
References hasMips32r2(), and inMips16Mode().
Referenced by performANDCombine(), and performORCombine().
|
inline |
Definition at line 185 of file MipsSubtarget.h.
|
inline |
Definition at line 186 of file MipsSubtarget.h.
|
inline |
Definition at line 187 of file MipsSubtarget.h.
|
inline |
Definition at line 192 of file MipsSubtarget.h.
References hasMips64().
Referenced by llvm::MipsTargetLowering::createFastISel(), llvm::MipsTargetLowering::isCheapToSpeculateCtlz(), llvm::MipsTargetLowering::isCheapToSpeculateCttz(), llvm::MipsTargetLowering::MipsTargetLowering(), performADDECombine(), and performSUBECombine().
|
inline |
Definition at line 196 of file MipsSubtarget.h.
References hasMips64r2().
Referenced by hasExtractInsert(), hasMTHC1(), and llvm::MipsTargetLowering::MipsTargetLowering().
|
inline |
Definition at line 200 of file MipsSubtarget.h.
References hasMips64r2().
|
inline |
Definition at line 204 of file MipsSubtarget.h.
References hasMips64r5().
|
inline |
Definition at line 208 of file MipsSubtarget.h.
References hasMips64r6().
Referenced by llvm::MipsTargetLowering::createFastISel(), llvm::MipsRegisterInfo::getCalleeSavedRegs(), llvm::MipsInstrInfo::getEquivalentCompactForm(), getLoadStoreOffsetSizeInBits(), inMicroMips32r6Mode(), llvm::MipsSETargetLowering::MipsSETargetLowering(), MipsSubtarget(), llvm::MipsTargetLowering::MipsTargetLowering(), performADDECombine(), and systemSupportsUnalignedAccess().
|
inline |
Definition at line 188 of file MipsSubtarget.h.
|
inline |
Definition at line 190 of file MipsSubtarget.h.
|
inline |
Definition at line 191 of file MipsSubtarget.h.
|
inline |
Definition at line 189 of file MipsSubtarget.h.
|
inline |
Definition at line 212 of file MipsSubtarget.h.
Referenced by llvm::MipsSEFrameLowering::determineCalleeSaves(), llvm::MipsRegisterInfo::getCalleeSavedRegs(), llvm::MipsFunctionInfo::getGlobalBaseReg(), hasMips32(), llvm::MipsTargetLowering::MipsTargetLowering(), and stackAlignment().
|
inline |
Definition at line 213 of file MipsSubtarget.h.
Referenced by hasMips32r2(), hasMips32r3(), and llvm::MipsTargetLowering::MipsTargetLowering().
|
inline |
Definition at line 214 of file MipsSubtarget.h.
|
inline |
Definition at line 215 of file MipsSubtarget.h.
Referenced by hasMips32r5().
|
inline |
Definition at line 216 of file MipsSubtarget.h.
Referenced by llvm::MipsRegisterInfo::getCalleeSavedRegs(), hasMips32r6(), inMicroMips64r6Mode(), llvm::MipsSETargetLowering::MipsSETargetLowering(), and MipsSubtarget().
|
inline |
Definition at line 251 of file MipsSubtarget.h.
Referenced by llvm::MipsSETargetLowering::MipsSETargetLowering(), MipsSubtarget(), performANDCombine(), performORCombine(), performSRACombine(), and performXORCombine().
|
inline |
Definition at line 265 of file MipsSubtarget.h.
References hasMips32r2().
|
inline |
Definition at line 255 of file MipsSubtarget.h.
References inMips16Mode().
Referenced by llvm::MipsRegisterInfo::canRealignStack(), and enableLongBranchPass().
|
inline |
Definition at line 233 of file MipsSubtarget.h.
| MipsSubtarget & MipsSubtarget::initializeSubtargetDependencies | ( | StringRef | CPU, |
| StringRef | FS, | ||
| const TargetMachine & | TM | ||
| ) |
Definition at line 147 of file MipsSubtarget.cpp.
References llvm::TargetMachine::getTargetTriple(), ParseSubtargetFeatures(), and llvm::MIPS_MC::selectMipsCPU().
|
inline |
Definition at line 246 of file MipsSubtarget.h.
References hasMips32r6().
|
inline |
Definition at line 247 of file MipsSubtarget.h.
References hasMips64r6().
|
inline |
Definition at line 245 of file MipsSubtarget.h.
Referenced by llvm::MipsSEInstrInfo::copyPhysReg(), llvm::MipsTargetLowering::createFastISel(), llvm::MipsAsmPrinter::EmitFunctionEntryLabel(), llvm::MipsSEInstrInfo::expandPostRAPseudo(), llvm::MipsInstrInfo::getEquivalentCompactForm(), llvm::MipsFunctionInfo::getGlobalBaseReg(), getLoadStoreOffsetSizeInBits(), and llvm::MipsTargetLowering::MipsTargetLowering().
|
inline |
Definition at line 242 of file MipsSubtarget.h.
References inMips16Mode().
Referenced by llvm::MipsTargetLowering::getOpndList(), and llvm::MipsCCState::getSpecialCallingConvForCallee().
|
inline |
Definition at line 234 of file MipsSubtarget.h.
Referenced by llvm::MipsFrameLowering::create(), llvm::MipsInstrInfo::create(), llvm::MipsTargetLowering::create(), llvm::MipsTargetLowering::createFastISel(), llvm::MipsAsmPrinter::EmitFunctionBodyEnd(), llvm::MipsAsmPrinter::EmitFunctionBodyStart(), llvm::MipsAsmPrinter::EmitFunctionEntryLabel(), llvm::MipsAsmPrinter::EmitInstruction(), llvm::MipsRegisterInfo::getFrameRegister(), llvm::MipsFunctionInfo::getGlobalBaseReg(), llvm::MipsRegisterInfo::getReservedRegs(), hasExtractInsert(), hasStandardEncoding(), inMips16HardFloat(), llvm::MipsTargetLowering::MipsTargetLowering(), and llvm::MipsAsmPrinter::runOnMachineFunction().
|
inline |
Definition at line 235 of file MipsSubtarget.h.
Referenced by allowMixed16_32().
|
inline |
Definition at line 174 of file MipsSubtarget.h.
References isABI_O32().
| bool MipsSubtarget::isABI_N32 | ( | ) | const |
Definition at line 172 of file MipsSubtarget.cpp.
References getABI(), and llvm::MipsABIInfo::IsN32().
Referenced by llvm::MipsRegisterInfo::getCalleeSavedRegs(), llvm::MipsRegisterInfo::getCallPreservedMask(), and MipsSubtarget().
| bool MipsSubtarget::isABI_N64 | ( | ) | const |
Definition at line 171 of file MipsSubtarget.cpp.
References getABI(), and llvm::MipsABIInfo::IsN64().
Referenced by llvm::MipsSEFrameLowering::emitPrologue(), llvm::MipsRegisterInfo::getCalleeSavedRegs(), llvm::MipsRegisterInfo::getCallPreservedMask(), llvm::MipsSEInstrInfo::loadImmediate(), lowerMSALoadIntr(), lowerMSAStoreIntr(), and MipsSubtarget().
| bool MipsSubtarget::isABI_O32 | ( | ) | const |
Definition at line 173 of file MipsSubtarget.cpp.
References getABI(), and llvm::MipsABIInfo::IsO32().
Referenced by llvm::MipsRegisterInfo::getReservedRegs(), isABI_FPXX(), and MipsSubtarget().
|
inline |
Definition at line 221 of file MipsSubtarget.h.
Referenced by llvm::MipsAsmPrinter::EmitStartOfAsmFile(), and llvm::MipsRegisterInfo::getReservedRegs().
|
inline |
Definition at line 223 of file MipsSubtarget.h.
Referenced by llvm::MipsRegisterInfo::getCalleeSavedRegs(), llvm::MipsRegisterInfo::getCallPreservedMask(), llvm::MipsRegisterInfo::getReservedRegs(), llvm::MipsSETargetLowering::MipsSETargetLowering(), and MipsSubtarget().
|
inline |
Definition at line 222 of file MipsSubtarget.h.
Referenced by llvm::MipsRegisterInfo::getCalleeSavedRegs(), and llvm::MipsRegisterInfo::getCallPreservedMask().
|
inline |
Definition at line 228 of file MipsSubtarget.h.
Referenced by llvm::MipsRegisterInfo::canRealignStack().
|
inline |
Definition at line 227 of file MipsSubtarget.h.
Referenced by getCriticalPathRCs(), getGPRSizeInBytes(), llvm::MipsTargetLowering::getRegisterByName(), llvm::MipsSETargetLowering::MipsSETargetLowering(), MipsSubtarget(), llvm::MipsTargetLowering::MipsTargetLowering(), and llvm::MipsAsmPrinter::PrintAsmOperand().
|
inline |
Definition at line 220 of file MipsSubtarget.h.
Referenced by CC_MipsO32(), llvm::MipsSEFrameLowering::emitPrologue(), llvm::MipsTargetLowering::lowerLOAD(), llvm::MipsTargetLowering::lowerSTORE(), performDSPShiftCombine(), performORCombine(), and llvm::MipsAsmPrinter::PrintAsmOperand().
|
inline |
Definition at line 226 of file MipsSubtarget.h.
Referenced by MipsSubtarget().
| bool MipsSubtarget::isPositionIndependent | ( | ) | const |
Definition at line 129 of file MipsSubtarget.cpp.
References llvm::TargetMachine::isPositionIndependent().
|
inline |
Definition at line 231 of file MipsSubtarget.h.
|
inline |
Definition at line 230 of file MipsSubtarget.h.
|
inline |
Definition at line 232 of file MipsSubtarget.h.
Referenced by llvm::MipsRegisterInfo::getCalleeSavedRegs(), llvm::MipsRegisterInfo::getCallPreservedMask(), and llvm::MipsSETargetLowering::MipsSETargetLowering().
|
inline |
Definition at line 272 of file MipsSubtarget.h.
References llvm::Triple::isOSNaCl().
Referenced by llvm::MipsAsmPrinter::EmitFunctionEntryLabel(), llvm::MipsRegisterInfo::getReservedRegs(), and llvm::MipsAsmPrinter::runOnMachineFunction().
|
inline |
Definition at line 225 of file MipsSubtarget.h.
|
inline |
Definition at line 270 of file MipsSubtarget.h.
ParseSubtargetFeatures - Parses features string setting specified subtarget options.
Definition of function is auto generated by tblgen.
Referenced by initializeSubtargetDependencies().
| void llvm::MipsSubtarget::setHelperClassesMips16 | ( | ) |
| void llvm::MipsSubtarget::setHelperClassesMipsSE | ( | ) |
|
inline |
Definition at line 278 of file MipsSubtarget.h.
References hasMips64().
|
inline |
Does the system support unaligned memory access.
MIPS32r6/MIPS64r6 require full unaligned access support but does not specify which component of the system provides it. Hardware, software, and hybrid implementations are all valid.
Definition at line 291 of file MipsSubtarget.h.
References hasMips32r6().
Referenced by llvm::MipsSETargetLowering::allowsMisalignedMemoryAccesses(), llvm::MipsTargetLowering::lowerLOAD(), and llvm::MipsTargetLowering::lowerSTORE().
|
static |
Definition at line 162 of file MipsSubtarget.cpp.
References llvm::dbgs(), DEBUG, and Mips16ConstantIslands.
|
inline |
Definition at line 224 of file MipsSubtarget.h.
Referenced by llvm::MipsRegisterInfo::getReservedRegs(), and MipsSubtarget().
|
inline |
Definition at line 253 of file MipsSubtarget.h.
Referenced by llvm::MipsRegisterInfo::getReservedRegs().
|
inline |
Definition at line 257 of file MipsSubtarget.h.
Referenced by llvm::Mips16TargetLowering::Mips16TargetLowering(), and llvm::MipsSETargetLowering::MipsSETargetLowering().
1.8.6