|
LLVM 24.0.0git
|
#include "Target/Mips/MipsSubtarget.h"
Static Public Member Functions | |
| static bool | useConstantIslands () |
Static Public Attributes | |
| static const RTLIB::LibcallImpl | HardFloatLibCalls [34] |
Protected Attributes | |
| std::unique_ptr< CallLowering > | CallLoweringInfo |
| std::unique_ptr< LegalizerInfo > | Legalizer |
| std::unique_ptr< RegisterBankInfo > | RegBankInfo |
| std::unique_ptr< InstructionSelector > | InstSelector |
Definition at line 47 of file MipsSubtarget.h.
| MipsSubtarget::MipsSubtarget | ( | const Triple & | TT, |
| StringRef | CPU, | ||
| StringRef | FS, | ||
| bool | little, | ||
| const MipsTargetMachine & | TM, | ||
| MaybeAlign | StackAlignOverride ) |
This constructor initializes the data members to match that of the specified triple.
Definition at line 81 of file MipsSubtarget.cpp.
References assert(), CallLoweringInfo, llvm::CB_Never, llvm::createMipsInstructionSelector(), llvm::errs(), getRegisterInfo(), getTargetLowering(), GPOpt, hasCRC(), hasDSP(), hasDSPR2(), hasGINV(), hasMips32(), hasMips32r2(), hasMips32r5(), hasMips32r6(), hasMips64(), hasMips64r2(), hasMips64r6(), hasMSA(), hasSym32(), hasVirt(), inAbs2008Mode(), initializeSubtargetDependencies(), InstSelector, isABI_N32(), isABI_N64(), isABI_O32(), isFP64bit(), isGP64bit(), isNaN2008(), Legalizer, llvm::little, Mips_Os16, MipsCompactBranchPolicy, Mixed16_32, RegBankInfo, llvm::report_fatal_error(), and useOddSPReg().
|
overridedefault |
|
inline |
Definition at line 386 of file MipsSubtarget.h.
References inMips16ModeDefault().
Referenced by enableLongBranchPass().
|
inline |
Definition at line 355 of file MipsSubtarget.h.
|
inline |
Definition at line 378 of file MipsSubtarget.h.
References allowMixed16_32(), hasStandardEncoding(), and inMicroMipsMode().
|
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 244 of file MipsSubtarget.cpp.
|
inline |
Definition at line 313 of file MipsSubtarget.h.
| const MipsABIInfo & MipsSubtarget::getABI | ( | ) | const |
Definition at line 295 of file MipsSubtarget.cpp.
Referenced by getGlobalBaseRegClass(), isABI_N32(), isABI_N64(), and isABI_O32().
|
override |
Definition at line 301 of file MipsSubtarget.cpp.
References CallLoweringInfo.
|
override |
Definition at line 246 of file MipsSubtarget.cpp.
References isGP64bit().
|
inlineoverride |
Definition at line 423 of file MipsSubtarget.h.
Referenced by llvm::MipsRegisterInfo::canRealignStack(), llvm::MipsRegisterInfo::getFrameRegister(), and llvm::MipsRegisterInfo::getReservedRegs().
|
inline |
Definition at line 325 of file MipsSubtarget.h.
References isGP64bit().
|
inlineoverride |
Definition at line 422 of file MipsSubtarget.h.
|
override |
Definition at line 313 of file MipsSubtarget.cpp.
References InstSelector.
|
override |
Definition at line 305 of file MipsSubtarget.cpp.
References Legalizer.
|
override |
Definition at line 252 of file MipsSubtarget.cpp.
References llvm::Aggressive.
|
override |
Definition at line 309 of file MipsSubtarget.cpp.
References RegBankInfo.
Referenced by llvm::MipsCallLowering::lowerCall().
|
inlineoverride |
Definition at line 426 of file MipsSubtarget.h.
Referenced by llvm::MipsCallLowering::lowerCall(), llvm::Mips16TargetLowering::Mips16TargetLowering(), and MipsSubtarget().
| Reloc::Model MipsSubtarget::getRelocationModel | ( | ) | const |
Definition at line 288 of file MipsSubtarget.cpp.
|
override |
Definition at line 297 of file MipsSubtarget.cpp.
|
inline |
Definition at line 399 of file MipsSubtarget.h.
|
inlineoverride |
Definition at line 429 of file MipsSubtarget.h.
Referenced by MipsSubtarget().
|
inline |
Definition at line 353 of file MipsSubtarget.h.
|
inline |
Definition at line 310 of file MipsSubtarget.h.
Referenced by performANDCombine(), and performSHLCombine().
|
inline |
Definition at line 311 of file MipsSubtarget.h.
|
inline |
Definition at line 358 of file MipsSubtarget.h.
Referenced by MipsSubtarget().
|
inline |
Definition at line 350 of file MipsSubtarget.h.
Referenced by MipsSubtarget(), and performDSPShiftCombine().
|
inline |
Definition at line 351 of file MipsSubtarget.h.
Referenced by MipsSubtarget(), performSRACombine(), and performSRLCombine().
|
inline |
Definition at line 352 of file MipsSubtarget.h.
|
inline |
Definition at line 356 of file MipsSubtarget.h.
|
inline |
Features related to the presence of specific instructions.
Definition at line 383 of file MipsSubtarget.h.
References hasMips32r2(), and inMips16Mode().
Referenced by performANDCombine(), and performORCombine().
|
inline |
Definition at line 360 of file MipsSubtarget.h.
Referenced by MipsSubtarget().
|
inline |
Definition at line 277 of file MipsSubtarget.h.
|
inline |
Definition at line 278 of file MipsSubtarget.h.
|
inline |
Definition at line 279 of file MipsSubtarget.h.
|
inline |
Definition at line 284 of file MipsSubtarget.h.
References hasMips64().
Referenced by MipsSubtarget(), performADDCombine(), and performSUBCombine().
|
inline |
Definition at line 288 of file MipsSubtarget.h.
References hasMips64r2().
Referenced by hasExtractInsert(), hasMTHC1(), MipsSubtarget(), and useIndirectJumpsHazard().
|
inline |
Definition at line 292 of file MipsSubtarget.h.
References hasMips64r2().
|
inline |
Definition at line 296 of file MipsSubtarget.h.
References hasMips64r5().
Referenced by MipsSubtarget().
|
inline |
Definition at line 300 of file MipsSubtarget.h.
References hasMips64r6().
Referenced by llvm::MipsRegisterInfo::getCalleeSavedRegs(), getLoadStoreOffsetSizeInBits(), inMicroMips32r6Mode(), MipsSubtarget(), performADDCombine(), performSUBCombine(), systemSupportsUnalignedAccess(), and useCompactBranches().
|
inline |
Definition at line 280 of file MipsSubtarget.h.
|
inline |
Definition at line 282 of file MipsSubtarget.h.
|
inline |
Definition at line 283 of file MipsSubtarget.h.
|
inline |
Definition at line 281 of file MipsSubtarget.h.
|
inline |
Definition at line 304 of file MipsSubtarget.h.
Referenced by llvm::MipsRegisterInfo::getCalleeSavedRegs(), hasMips32(), MipsSubtarget(), and performMADD_MSUBCombine().
|
inline |
Definition at line 305 of file MipsSubtarget.h.
Referenced by hasMips32r2(), hasMips32r3(), MipsSubtarget(), and performORCombine().
|
inline |
Definition at line 306 of file MipsSubtarget.h.
|
inline |
Definition at line 307 of file MipsSubtarget.h.
Referenced by hasMips32r5().
|
inline |
Definition at line 308 of file MipsSubtarget.h.
Referenced by llvm::MipsRegisterInfo::getCalleeSavedRegs(), hasMips32r6(), and MipsSubtarget().
|
inline |
Definition at line 354 of file MipsSubtarget.h.
Referenced by getMSAMapping(), MipsSubtarget(), performANDCombine(), performORCombine(), performSRACombine(), and performXORCombine().
|
inline |
Definition at line 357 of file MipsSubtarget.h.
|
inline |
Definition at line 384 of file MipsSubtarget.h.
References hasMips32r2().
|
inline |
Definition at line 370 of file MipsSubtarget.h.
Referenced by enableLongBranchPass().
|
inline |
Definition at line 328 of file MipsSubtarget.h.
References isABI_N32(), isABI_N64(), and isABI_O32().
Referenced by llvm::MipsAsmPrinter::emitStartOfAsmFile(), and MipsSubtarget().
|
inline |
Definition at line 334 of file MipsSubtarget.h.
|
inline |
Definition at line 359 of file MipsSubtarget.h.
Referenced by MipsSubtarget().
|
inline |
Definition at line 322 of file MipsSubtarget.h.
Referenced by MipsSubtarget().
| MipsSubtarget & MipsSubtarget::initializeSubtargetDependencies | ( | StringRef | CPU, |
| StringRef | FS, | ||
| const TargetMachine & | TM ) |
Definition at line 257 of file MipsSubtarget.cpp.
References assert(), isABI_N32(), isABI_N64(), isABI_O32(), isGP64bit(), ParseSubtargetFeatures(), llvm::reportFatalUsageError(), and llvm::MIPS_MC::selectMipsCPU().
Referenced by MipsSubtarget().
|
override |
Definition at line 337 of file MipsSubtarget.cpp.
References assert(), llvm::RTLIB::RuntimeLibcallsInfo::getLibcallFromImpl(), HardFloatLibCalls, I, inMips16Mode(), and useSoftFloat().
|
inline |
Definition at line 347 of file MipsSubtarget.h.
References hasMips32r6(), and inMicroMipsMode().
|
inline |
Definition at line 346 of file MipsSubtarget.h.
Referenced by emitDirectiveRelocJalr(), enableLongBranchPass(), getLoadStoreOffsetSizeInBits(), getUnconditionalBranch(), and inMicroMips32r6Mode().
|
inline |
Definition at line 343 of file MipsSubtarget.h.
References inMips16Mode().
Referenced by llvm::MipsCCState::getSpecialCallingConvForCallee().
|
inline |
Definition at line 335 of file MipsSubtarget.h.
Referenced by llvm::MipsRegisterInfo::canRealignStack(), llvm::MipsInstrInfo::create(), llvm::MipsTargetLowering::create(), llvm::MipsRegisterInfo::getFrameRegister(), llvm::MipsRegisterInfo::getReservedRegs(), hasExtractInsert(), initLibcallLoweringInfo(), inMips16HardFloat(), performADDCombine(), and performSUBCombine().
|
inline |
Definition at line 336 of file MipsSubtarget.h.
Referenced by allowMixed16_32().
|
inline |
Definition at line 257 of file MipsSubtarget.h.
References isABI_O32().
Referenced by llvm::MipsAsmPrinter::emitStartOfAsmFile().
| bool MipsSubtarget::isABI_N32 | ( | ) | const |
Definition at line 293 of file MipsSubtarget.cpp.
References getABI(), and llvm::MipsABIInfo::IsN32().
Referenced by llvm::MipsRegisterInfo::getCalleeSavedRegs(), llvm::MipsRegisterInfo::getCallPreservedMask(), hasSym32(), initializeSubtargetDependencies(), and MipsSubtarget().
| bool MipsSubtarget::isABI_N64 | ( | ) | const |
Definition at line 292 of file MipsSubtarget.cpp.
References getABI(), and llvm::MipsABIInfo::IsN64().
Referenced by llvm::MipsRegisterInfo::getCalleeSavedRegs(), llvm::MipsRegisterInfo::getCallPreservedMask(), hasSym32(), initializeSubtargetDependencies(), llvm::MipsSEInstrInfo::loadImmediate(), lowerMSALoadIntr(), lowerMSAStoreIntr(), and MipsSubtarget().
| bool MipsSubtarget::isABI_O32 | ( | ) | const |
Definition at line 294 of file MipsSubtarget.cpp.
References getABI(), and llvm::MipsABIInfo::IsO32().
Referenced by hasSym32(), initializeSubtargetDependencies(), isABI_FPXX(), MipsSubtarget(), and shouldTransformMulToShiftsAddsSubs().
|
inline |
Definition at line 316 of file MipsSubtarget.h.
Referenced by llvm::MipsAsmPrinter::emitStartOfAsmFile(), and llvm::MipsRegisterInfo::getReservedRegs().
|
inline |
Definition at line 318 of file MipsSubtarget.h.
Referenced by llvm::MipsAsmPrinter::emitStartOfAsmFile(), llvm::MipsRegisterInfo::getCalleeSavedRegs(), llvm::MipsRegisterInfo::getCallPreservedMask(), llvm::MipsRegisterInfo::getReservedRegs(), and MipsSubtarget().
|
inline |
Definition at line 317 of file MipsSubtarget.h.
Referenced by llvm::MipsRegisterInfo::getCalleeSavedRegs(), and llvm::MipsRegisterInfo::getCallPreservedMask().
|
inline |
Definition at line 324 of file MipsSubtarget.h.
Referenced by llvm::MipsRegisterInfo::canRealignStack().
|
inline |
Definition at line 323 of file MipsSubtarget.h.
Referenced by getCriticalPathRCs(), getGPRSizeInBytes(), initializeSubtargetDependencies(), llvm::MipsCallLowering::lowerFormalArguments(), MipsSubtarget(), and performSignExtendCombine().
Definition at line 259 of file MipsSubtarget.h.
References assert().
Referenced by llvm::MipsRegisterInfo::getReservedRegs().
|
inline |
Definition at line 315 of file MipsSubtarget.h.
Referenced by CC_MipsO32(), performDSPShiftCombine(), and performORCombine().
|
inline |
Definition at line 321 of file MipsSubtarget.h.
Referenced by llvm::MipsAsmPrinter::emitStartOfAsmFile(), and MipsSubtarget().
| bool MipsSubtarget::isPositionIndependent | ( | ) | const |
Definition at line 239 of file MipsSubtarget.cpp.
Referenced by getUnconditionalBranch().
|
inline |
Definition at line 327 of file MipsSubtarget.h.
|
inline |
Definition at line 326 of file MipsSubtarget.h.
|
inline |
Definition at line 312 of file MipsSubtarget.h.
|
inline |
Definition at line 331 of file MipsSubtarget.h.
Referenced by llvm::MipsRegisterInfo::getCalleeSavedRegs(), and llvm::MipsRegisterInfo::getCallPreservedMask().
|
inline |
Definition at line 332 of file MipsSubtarget.h.
|
inline |
Definition at line 333 of file MipsSubtarget.h.
|
inline |
Definition at line 391 of file MipsSubtarget.h.
|
inlineoverride |
Definition at line 393 of file MipsSubtarget.h.
|
inline |
Definition at line 320 of file MipsSubtarget.h.
|
inline |
Definition at line 389 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 |
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 412 of file MipsSubtarget.h.
References hasMips32r6().
Referenced by isGprbTwoInstrUnalignedLoadOrStore().
|
inline |
Definition at line 366 of file MipsSubtarget.h.
References hasMips32r6().
|
static |
Definition at line 282 of file MipsSubtarget.cpp.
References llvm::dbgs(), LLVM_DEBUG, and Mips16ConstantIslands.
|
inline |
Definition at line 361 of file MipsSubtarget.h.
References hasMips32r2().
|
inline |
Definition at line 374 of file MipsSubtarget.h.
|
inline |
Definition at line 319 of file MipsSubtarget.h.
Referenced by llvm::MipsAsmPrinter::emitStartOfAsmFile(), and MipsSubtarget().
|
inline |
Definition at line 364 of file MipsSubtarget.h.
Referenced by llvm::MipsRegisterInfo::getReservedRegs().
|
inline |
Definition at line 372 of file MipsSubtarget.h.
Referenced by llvm::MipsAsmPrinter::emitStartOfAsmFile(), and initLibcallLoweringInfo().
|
inline |
Definition at line 376 of file MipsSubtarget.h.
|
protected |
Definition at line 436 of file MipsSubtarget.h.
Referenced by getCallLowering(), and MipsSubtarget().
|
static |
Definition at line 275 of file MipsSubtarget.h.
Referenced by initLibcallLoweringInfo(), and isMips16HardFloatLibcall().
|
protected |
Definition at line 439 of file MipsSubtarget.h.
Referenced by getInstructionSelector(), and MipsSubtarget().
|
protected |
Definition at line 437 of file MipsSubtarget.h.
Referenced by getLegalizerInfo(), and MipsSubtarget().
|
protected |
Definition at line 438 of file MipsSubtarget.h.
Referenced by getRegBankInfo(), and MipsSubtarget().