LLVM: llvm::X86RegisterInfo Class Reference (original) (raw)
#include "[Target/X86/X86RegisterInfo.h](X86RegisterInfo%5F8h%5Fsource.html)"
Definition at line 25 of file X86RegisterInfo.h.
| X86RegisterInfo::X86RegisterInfo ( const Triple & TT) | explicit |
|---|
◆ adjustStackMapLiveOutMask()
| void X86RegisterInfo::adjustStackMapLiveOutMask ( uint32_t * Mask) const | override |
|---|
◆ canRealignStack()
◆ constrainRegClassToNonRex2()
◆ eliminateFrameIndex() [1/2]
◆ eliminateFrameIndex() [2/2]
Definition at line 850 of file X86RegisterInfo.cpp.
References llvm::MachineInstrBuilder::addImm(), assert(), llvm::BuildMI(), llvm::MachineOperand::ChangeToImmediate(), contains(), DL, llvm::StackOffset::getFixed(), llvm::X86FrameLowering::getFrameIndexReference(), llvm::X86FrameLowering::getFrameIndexReferenceSP(), llvm::MachineFunction::getFrameInfo(), llvm::MachineFunction::getSubtarget(), llvm::X86FrameLowering::getWin64EHFrameIndexRef(), llvm::getX86SubSuperRegister(), II, llvm::X86FrameLowering::Is64Bit, llvm::MachineFrameInfo::isFixedObjectIndex(), llvm::isFuncletReturnInstr(), llvm::isInt(), MBB, MBBI, MI, llvm::Offset, Opc, TII, and tryOptimizeLEAtoMOV().
◆ eliminateFrameIndicesBackwards()
| bool llvm::X86RegisterInfo::eliminateFrameIndicesBackwards ( ) const | inlineoverride |
|---|
Process frame indices in forwards block order because X86InstrInfo::getSPAdjust relies on it when searching for the ADJCALLSTACKUP pseudo following a call.
TODO: Fix this and return true like all other targets.
Definition at line 150 of file X86RegisterInfo.h.
◆ findDeadCallerSavedReg()
◆ getBaseRegister()
| Register llvm::X86RegisterInfo::getBaseRegister ( ) const | inline |
|---|
◆ getCalleeSavedRegs()
getCalleeSavedRegs - Return a null-terminated list of all of the callee-save registers on this target.
Definition at line 239 of file X86RegisterInfo.cpp.
References llvm::CallingConv::AnyReg, assert(), llvm::MachineFunction::callsEHReturn(), llvm::CallingConv::CFGuard_Check, llvm::CallingConv::Cold, llvm::CallingConv::CXX_FAST_TLS, F, llvm::MachineFunction::getFunction(), llvm::MachineFunction::getInfo(), llvm::MachineFunction::getSubtarget(), llvm::X86Subtarget::getTargetLowering(), llvm::CallingConv::GHC, llvm::X86Subtarget::hasAVX(), llvm::X86Subtarget::hasAVX512(), llvm::Function::hasFnAttribute(), llvm::X86Subtarget::hasSSE1(), llvm::CallingConv::HiPE, llvm::CallingConv::Intel_OCL_BI, llvm::CallingConv::PreserveAll, llvm::CallingConv::PreserveMost, llvm::CallingConv::PreserveNone, llvm::X86TargetLowering::supportSwiftError(), llvm::CallingConv::SwiftTail, llvm::CallingConv::Win64, llvm::CallingConv::X86_64_SysV, llvm::CallingConv::X86_INTR, and llvm::CallingConv::X86_RegCall.
◆ getCalleeSavedRegsViaCopy()
◆ getCallPreservedMask()
Definition at line 383 of file X86RegisterInfo.cpp.
References llvm::CallingConv::AnyReg, assert(), llvm::CallingConv::CFGuard_Check, llvm::CallingConv::Cold, llvm::CallingConv::CXX_FAST_TLS, F, llvm::MachineFunction::getFunction(), llvm::MachineFunction::getSubtarget(), llvm::X86Subtarget::getTargetLowering(), llvm::CallingConv::GHC, llvm::X86Subtarget::hasAVX(), llvm::X86Subtarget::hasAVX512(), llvm::X86Subtarget::hasSSE1(), llvm::CallingConv::HiPE, llvm::CallingConv::Intel_OCL_BI, llvm::CallingConv::PreserveAll, llvm::CallingConv::PreserveMost, llvm::CallingConv::PreserveNone, llvm::X86TargetLowering::supportSwiftError(), llvm::CallingConv::SwiftTail, llvm::CallingConv::Win64, llvm::CallingConv::X86_64_SysV, llvm::CallingConv::X86_INTR, and llvm::CallingConv::X86_RegCall.
◆ getCrossCopyRegClass()
getCrossCopyRegClass - Returns a legal register class to copy a register in the specified class to or from.
Returns NULL if it is possible to copy between a two registers of the specified class.
Definition at line 208 of file X86RegisterInfo.cpp.
◆ getDarwinTLSCallPreservedMask()
| const uint32_t * X86RegisterInfo::getDarwinTLSCallPreservedMask | ( | ) | const |
|---|
◆ getFramePtr()
| Register llvm::X86RegisterInfo::getFramePtr ( ) const | inline |
|---|
Returns physical register used as frame pointer.
This will always returns the frame pointer register, contrary to getFrameRegister() which returns the "base pointer" in situations involving a stack, frame and base pointer.
Definition at line 168 of file X86RegisterInfo.h.
◆ getFrameRegister()
◆ getIPRACSRegs()
getIPRACSRegs - This API can be removed when rbp is safe to optimized out when IPRA is on.
Definition at line 369 of file X86RegisterInfo.cpp.
◆ getLargestLegalSuperClass()
◆ getMatchingSuperRegClass()
getMatchingSuperRegClass - Return a subclass of the specified register class A so that each register in it has a sub-register of the specified sub-register index which is in the specified register class B.
Definition at line 101 of file X86RegisterInfo.cpp.
◆ getNoPreservedMask()
| const uint32_t * X86RegisterInfo::getNoPreservedMask ( ) const | override |
|---|
◆ getNumSupportedRegs()
◆ getPointerRegClass()
◆ getPtrSizedFrameRegister()
◆ getPtrSizedStackRegister()
◆ getRegAllocationHints()
Definition at line 1076 of file X86RegisterInfo.cpp.
References assert(), llvm::SmallVectorImpl< T >::clear(), llvm::TargetRegisterClass::contains(), llvm::SmallSet< T, N, C >::count(), llvm::dbgs(), DisableRegAllocNDDHints, llvm::format_hex(), llvm::from_range, llvm::TargetRegisterClass::getID(), llvm::X86::getNonNDVariant(), llvm::VirtRegMap::getPhys(), llvm::TargetRegisterInfo::getRegAllocationHints(), llvm::MachineFunction::getRegInfo(), llvm::MachineFunction::getSubtarget(), getTileShape(), llvm::SmallSet< T, N, C >::insert(), llvm::is_contained(), llvm::Register::isPhysical(), LLVM_DEBUG, Matrix, MI, MRI, llvm::MCRegister::NoRegister, OpIdx, llvm::SmallVectorTemplateBase< T, bool >::push_back(), Register, and TRI.
◆ getRegPressureLimit()
◆ getReservedRegs()
getReservedRegs - Returns a bitset indexed by physical register number indicating if a register is a special register that has particular uses and should be considered unavailable at all times, e.g.
SP, RA. This is used by register scavenger to determine what registers are free.
Definition at line 498 of file X86RegisterInfo.cpp.
References assert(), llvm::TargetOptions::FramePointerIsReserved(), getBaseRegister(), llvm::X86MachineFunctionInfo::getBPClobberedByInvoke(), llvm::Function::getCallingConv(), llvm::MachineFunction::getContext(), llvm::X86MachineFunctionInfo::getFPClobberedByInvoke(), llvm::MachineFunction::getFunction(), llvm::MachineFunction::getInfo(), llvm::MachineFunction::getSubtarget(), llvm::MachineFunction::getTarget(), llvm::getX86SubSuperRegister(), llvm::CallingConv::GRAAL, llvm::X86Subtarget::hasAVX512(), hasBasePointer(), llvm::TargetFrameLowering::hasFP(), llvm::MCRegAliasIterator::isValid(), llvm::TargetMachine::Options, llvm::MCContext::reportError(), llvm::Reserved, and SubReg.
◆ getSlotSize()
| unsigned llvm::X86RegisterInfo::getSlotSize ( ) const | inline |
|---|
◆ getStackRegister()
| Register llvm::X86RegisterInfo::getStackRegister ( ) const | inline |
|---|
◆ getSubClassWithSubReg()
◆ hasBasePointer()
◆ isArgumentRegister()
◆ isFixedRegister()
◆ isNonRex2RegClass()
◆ isTileRegisterClass()
◆ requiresRegisterScavenging()
◆ shouldRealignStack()
The documentation for this class was generated from the following files:
- lib/Target/X86/X86RegisterInfo.h
- lib/Target/X86/X86RegisterInfo.cpp