|
LLVM
4.0.0
|
#include <X86RegisterInfo.h>
Definition at line 25 of file X86RegisterInfo.h.
Definition at line 50 of file X86RegisterInfo.cpp.
References llvm::Triple::getEnvironment(), llvm::Triple::GNUX32, llvm::X86_MC::initLLVMToSEHAndCVRegMapping(), llvm::Triple::isArch64Bit(), and llvm::Triple::isOSWindows().
|
override |
Definition at line 566 of file X86RegisterInfo.cpp.
References assert().
|
override |
Definition at line 605 of file X86RegisterInfo.cpp.
References llvm::TargetRegisterInfo::canRealignStack(), llvm::MachineRegisterInfo::canReserveReg(), CantUseSP(), llvm::MachineFunction::getFrameInfo(), llvm::MachineFunction::getRegInfo(), and MRI.
Referenced by llvm::X86InstrInfo::loadRegFromStackSlot(), and llvm::X86InstrInfo::storeRegToStackSlot().
|
override |
Definition at line 661 of file X86RegisterInfo.cpp.
References assert(), llvm::MachineOperand::ChangeToImmediate(), llvm::MachineOperand::ChangeToRegister(), contains(), llvm::ISD::FrameIndex, getBaseRegister(), llvm::X86FrameLowering::getFrameIndexReference(), llvm::MachineFunction::getFrameInfo(), llvm::MachineOperand::getImm(), llvm::MachineOperand::getIndex(), llvm::MachineFrameInfo::getObjectOffset(), llvm::MachineOperand::getOffset(), llvm::TargetFrameLowering::getOffsetOfLocalArea(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineInstr::getParent(), llvm::MachineBasicBlock::getParent(), llvm::getX86SubSuperRegister(), hasBasePointer(), llvm::X86FrameLowering::hasFP(), llvm::MachineOperand::isImm(), llvm::isInt< 32 >(), MI, Offset, llvm::MachineOperand::setOffset(), and tryOptimizeLEAtoMOV().
|
inline |
Definition at line 135 of file X86RegisterInfo.h.
Referenced by llvm::X86FrameLowering::determineCalleeSaves(), eliminateFrameIndex(), llvm::X86TargetLowering::EmitInstrWithCustomInserter(), llvm::X86FrameLowering::emitPrologue(), llvm::X86FrameLowering::getFrameIndexReference(), getReservedRegs(), LowerINTRINSIC_WO_CHAIN(), llvm::X86TargetLowering::ReplaceNodeResults(), and llvm::X86FrameLowering::restoreWin32EHStackPointers().
|
override |
getCalleeSavedRegs - Return a null-terminated list of all of the callee-save registers on this target.
Definition at line 266 of file X86RegisterInfo.cpp.
References llvm::CallingConv::AnyReg, assert(), llvm::MachineFunction::callsEHReturn(), llvm::CallingConv::Cold, llvm::CallingConv::CXX_FAST_TLS, llvm::Function::getAttributes(), llvm::Function::getCallingConv(), llvm::MachineFunction::getFunction(), llvm::MachineFunction::getInfo(), llvm::MachineFunction::getSubtarget(), llvm::X86Subtarget::getTargetLowering(), llvm::CallingConv::GHC, llvm::AttributeSet::hasAttrSomewhere(), llvm::X86Subtarget::hasAVX(), llvm::X86Subtarget::hasAVX512(), llvm::X86Subtarget::hasSSE1(), llvm::CallingConv::HHVM, llvm::CallingConv::HiPE, llvm::CallingConv::Intel_OCL_BI, llvm::CallingConv::PreserveAll, llvm::CallingConv::PreserveMost, llvm::X86TargetLowering::supportSwiftError(), llvm::CallingConv::X86_64_SysV, llvm::CallingConv::X86_64_Win64, llvm::CallingConv::X86_INTR, and llvm::CallingConv::X86_RegCall.
| const MCPhysReg * X86RegisterInfo::getCalleeSavedRegsViaCopy | ( | const MachineFunction * | MF | ) | const |
Definition at line 373 of file X86RegisterInfo.cpp.
References assert(), llvm::CallingConv::CXX_FAST_TLS, llvm::Function::getCallingConv(), llvm::MachineFunction::getFunction(), and llvm::MachineFunction::getInfo().
|
override |
Definition at line 383 of file X86RegisterInfo.cpp.
References llvm::CallingConv::AnyReg, llvm::CallingConv::Cold, llvm::CallingConv::CXX_FAST_TLS, llvm::Function::getAttributes(), llvm::MachineFunction::getFunction(), llvm::MachineFunction::getSubtarget(), llvm::X86Subtarget::getTargetLowering(), llvm::CallingConv::GHC, llvm::AttributeSet::hasAttrSomewhere(), llvm::X86Subtarget::hasAVX(), llvm::X86Subtarget::hasAVX512(), llvm::X86Subtarget::hasSSE1(), llvm::CallingConv::HHVM, llvm::CallingConv::HiPE, llvm::CallingConv::Intel_OCL_BI, llvm::CallingConv::PreserveAll, llvm::CallingConv::PreserveMost, llvm::X86TargetLowering::supportSwiftError(), llvm::CallingConv::X86_64_SysV, llvm::CallingConv::X86_64_Win64, llvm::CallingConv::X86_INTR, and llvm::CallingConv::X86_RegCall.
Referenced by getReservedRegs().
|
override |
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 235 of file X86RegisterInfo.cpp.
Definition at line 483 of file X86RegisterInfo.cpp.
|
override |
Definition at line 746 of file X86RegisterInfo.cpp.
References llvm::X86FrameLowering::hasFP().
Referenced by llvm::X86FrameLowering::emitEpilogue(), llvm::X86FrameLowering::emitPrologue(), llvm::X86FrameLowering::getFrameIndexReference(), getPtrSizedFrameRegister(), and llvm::X86FrameLowering::restoreWin32EHStackPointers().
| const TargetRegisterClass * X86RegisterInfo::getGPRsForTailCall | ( | const MachineFunction & | MF | ) | const |
getGPRsForTailCall - Returns a register class with registers that can be used in forming tail calls.
Definition at line 221 of file X86RegisterInfo.cpp.
References F, llvm::Function::getCallingConv(), llvm::MachineFunction::getFunction(), llvm::CallingConv::HiPE, and llvm::CallingConv::X86_64_Win64.
Referenced by findDeadCallerSavedReg(), and getPointerRegClass().
|
override |
Definition at line 118 of file X86RegisterInfo.cpp.
References llvm::TargetRegisterClass::getSize(), llvm::MachineFunction::getSubtarget(), llvm::TargetRegisterClass::getSuperClasses(), llvm::X86Subtarget::hasAVX512(), llvm::X86Subtarget::hasVLX(), and I.
|
override |
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 105 of file X86RegisterInfo.cpp.
Definition at line 479 of file X86RegisterInfo.cpp.
|
override |
getPointerRegClass - Returns a TargetRegisterClass used for pointer values.
Definition at line 180 of file X86RegisterInfo.cpp.
References getGPRsForTailCall(), llvm::MachineFunction::getSubtarget(), llvm::X86FrameLowering::hasFP(), llvm::X86Subtarget::isTarget64BitLP64(), llvm_unreachable, and llvm::X86FrameLowering::Uses64BitFramePtr.
| unsigned X86RegisterInfo::getPtrSizedFrameRegister | ( | const MachineFunction & | MF | ) | const |
Definition at line 752 of file X86RegisterInfo.cpp.
References getFrameRegister(), llvm::MachineFunction::getSubtarget(), llvm::getX86SubSuperRegister(), and llvm::X86Subtarget::isTarget64BitILP32().
Referenced by llvm::X86TargetLowering::getRegisterByName(), and LowerINTRINSIC_WO_CHAIN().
|
override |
Definition at line 246 of file X86RegisterInfo.cpp.
References llvm::TargetRegisterClass::getID(), and llvm::X86FrameLowering::hasFP().
|
override |
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 487 of file X86RegisterInfo.cpp.
References assert(), llvm::MachineOperand::clobbersPhysReg(), getBaseRegister(), llvm::Function::getCallingConv(), getCallPreservedMask(), llvm::MachineFunction::getFunction(), llvm::MachineFunction::getSubtarget(), llvm::getX86SubSuperRegister(), llvm::X86Subtarget::hasAVX512(), hasBasePointer(), llvm::X86FrameLowering::hasFP(), I, llvm::MCRegAliasIterator::isValid(), llvm::report_fatal_error(), and llvm::BitVector::set().
| int X86RegisterInfo::getSEHRegNum | ( | unsigned | i | ) | const |
Definition at line 88 of file X86RegisterInfo.cpp.
Referenced by llvm::X86AsmPrinter::EmitInstruction().
|
inline |
|
inline |
Definition at line 134 of file X86RegisterInfo.h.
Referenced by llvm::X86FrameLowering::getFrameIndexReference(), llvm::X86FrameLowering::getFrameIndexReferencePreferSP(), llvm::X86FrameLowering::X86FrameLowering(), and llvm::X86TargetLowering::X86TargetLowering().
|
override |
Definition at line 93 of file X86RegisterInfo.cpp.
| bool X86RegisterInfo::hasBasePointer | ( | const MachineFunction & | MF | ) | const |
Definition at line 590 of file X86RegisterInfo.cpp.
References CantUseSP(), EnableBasePointer, and llvm::MachineFunction::getFrameInfo().
Referenced by llvm::X86FrameLowering::canSimplifyCallFramePseudos(), llvm::X86FrameLowering::determineCalleeSaves(), eliminateFrameIndex(), llvm::X86TargetLowering::EmitInstrWithCustomInserter(), llvm::X86FrameLowering::emitPrologue(), llvm::X86FrameLowering::getFrameIndexReference(), getReservedRegs(), LowerINTRINSIC_WO_CHAIN(), and llvm::X86TargetLowering::ReplaceNodeResults().
|
override |
Definition at line 624 of file X86RegisterInfo.cpp.
References llvm_unreachable.
|
override |
Code Generation virtual methods...
Definition at line 82 of file X86RegisterInfo.cpp.
1.8.6