|
LLVM
3.7.0
|
#include <X86RegisterInfo.h>
Definition at line 25 of file X86RegisterInfo.h.
Definition at line 57 of file X86RegisterInfo.cpp.
References llvm::Triple::getEnvironment(), llvm::Triple::GNUX32, llvm::X86_MC::InitLLVM2SEHRegisterMapping(), llvm::Triple::isArch64Bit(), and llvm::Triple::isOSWindows().
|
override |
Definition at line 422 of file X86RegisterInfo.cpp.
| bool X86RegisterInfo::canRealignStack | ( | const MachineFunction & | MF | ) | const |
Definition at line 459 of file X86RegisterInfo.cpp.
References llvm::MachineRegisterInfo::canReserveReg(), llvm::MachineFunction::getFrameInfo(), llvm::MachineFunction::getFunction(), llvm::MachineFunction::getRegInfo(), llvm::Function::hasFnAttribute(), and llvm::MachineFrameInfo::hasVarSizedObjects().
Referenced by llvm::X86InstrInfo::loadRegFromStackSlot(), needsStackRealignment(), and llvm::X86InstrInfo::storeRegToStackSlot().
|
override |
Definition at line 501 of file X86RegisterInfo.cpp.
References llvm::MachineOperand::ChangeToImmediate(), llvm::MachineOperand::ChangeToRegister(), contains(), llvm::ISD::FrameIndex, getBaseRegister(), llvm::X86FrameLowering::getFrameIndexOffset(), llvm::X86FrameLowering::getFrameIndexOffsetFromSP(), llvm::MachineFunction::getFrameInfo(), llvm::MachineOperand::getImm(), llvm::MachineOperand::getIndex(), llvm::TargetMachine::getMCAsmInfo(), llvm::MachineFrameInfo::getObjectOffset(), llvm::MachineOperand::getOffset(), llvm::TargetFrameLowering::getOffsetOfLocalArea(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineInstr::getParent(), llvm::MachineBasicBlock::getParent(), llvm::MachineFunction::getTarget(), llvm::getX86SubSuperRegister(), hasBasePointer(), llvm::X86FrameLowering::hasFP(), llvm::MVT::i64, llvm::MachineOperand::isImm(), llvm::isInt< 32 >(), llvm::TargetOpcode::LOCAL_ESCAPE, llvm::AArch64CC::MI, needsStackRealignment(), llvm::TargetOpcode::PATCHPOINT, llvm::MachineOperand::setOffset(), llvm::TargetOpcode::STACKMAP, and llvm::MCAsmInfo::usesWindowsCFI().
|
inline |
Definition at line 126 of file X86RegisterInfo.h.
Referenced by llvm::X86FrameLowering::determineCalleeSaves(), eliminateFrameIndex(), llvm::X86FrameLowering::emitPrologue(), llvm::X86FrameLowering::getFrameIndexReference(), getReservedRegs(), LowerINTRINSIC_WO_CHAIN(), and LowerSEHRESTOREFRAME().
|
override |
getCalleeSavedRegs - Return a null-terminated list of all of the callee-save registers on this target.
Definition at line 223 of file X86RegisterInfo.cpp.
References llvm::CallingConv::AnyReg, llvm::MachineModuleInfo::callsEHReturn(), llvm::CallingConv::Cold, llvm::Function::getCallingConv(), llvm::MachineFunction::getFunction(), llvm::MachineFunction::getMMI(), llvm::MachineFunction::getSubtarget(), llvm::CallingConv::GHC, llvm::X86Subtarget::hasAVX(), llvm::X86Subtarget::hasAVX512(), llvm::CallingConv::HiPE, llvm::CallingConv::Intel_OCL_BI, llvm::CallingConv::PreserveAll, llvm::CallingConv::PreserveMost, llvm::CallingConv::X86_64_SysV, and llvm::CallingConv::X86_64_Win64.
|
override |
Definition at line 284 of file X86RegisterInfo.cpp.
References llvm::CallingConv::AnyReg, llvm::CallingConv::Cold, llvm::MachineFunction::getSubtarget(), llvm::CallingConv::GHC, llvm::X86Subtarget::hasAVX(), llvm::X86Subtarget::hasAVX512(), llvm::CallingConv::HiPE, llvm::CallingConv::Intel_OCL_BI, llvm::CallingConv::PreserveAll, llvm::CallingConv::PreserveMost, llvm::CallingConv::X86_64_SysV, and llvm::CallingConv::X86_64_Win64.
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 192 of file X86RegisterInfo.cpp.
|
override |
Definition at line 585 of file X86RegisterInfo.cpp.
References llvm::X86FrameLowering::hasFP().
Referenced by llvm::X86FrameLowering::emitEpilogue(), llvm::X86FrameLowering::emitPrologue(), llvm::X86FrameLowering::getFrameIndexReference(), and getPtrSizedFrameRegister().
|
override |
Definition at line 125 of file X86RegisterInfo.cpp.
References llvm::TargetRegisterClass::getID(), llvm::TargetRegisterClass::getSize(), llvm::TargetRegisterClass::getSuperClasses(), 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 112 of file X86RegisterInfo.cpp.
| const uint32_t * X86RegisterInfo::getNoPreservedMask | ( | ) | const |
Definition at line 340 of file X86RegisterInfo.cpp.
|
override |
getPointerRegClass - Returns a TargetRegisterClass used for pointer values.
Definition at line 164 of file X86RegisterInfo.cpp.
References F(), llvm::Function::getCallingConv(), llvm::MachineFunction::getFunction(), llvm::MachineFunction::getSubtarget(), llvm::CallingConv::HiPE, llvm::X86Subtarget::isTarget64BitLP64(), llvm_unreachable, and llvm::CallingConv::X86_64_Win64.
| unsigned X86RegisterInfo::getPtrSizedFrameRegister | ( | const MachineFunction & | MF | ) | const |
Definition at line 591 of file X86RegisterInfo.cpp.
References getFrameRegister(), llvm::MachineFunction::getSubtarget(), llvm::getX86SubSuperRegister(), llvm::MVT::i32, and llvm::X86Subtarget::isTarget64BitILP32().
Referenced by llvm::X86TargetLowering::getRegisterByName(), LowerINTRINSIC_WO_CHAIN(), and LowerSEHRESTOREFRAME().
|
override |
Definition at line 203 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 344 of file X86RegisterInfo.cpp.
References 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::MVT::i64, llvm::MCRegAliasIterator::isValid(), llvm::report_fatal_error(), llvm::Reserved, and llvm::BitVector::set().
Definition at line 95 of file X86RegisterInfo.cpp.
Referenced by llvm::X86AsmPrinter::EmitInstruction().
|
inline |
Definition at line 128 of file X86RegisterInfo.h.
Referenced by llvm::X86TargetLowering::getReturnAddressFrameIndex(), LowerINTRINSIC_W_CHAIN(), LowerSEHRESTOREFRAME(), llvm::X86MachineFunctionInfo::setRestoreBasePointer(), and llvm::X86FrameLowering::X86FrameLowering().
|
inline |
|
override |
Definition at line 100 of file X86RegisterInfo.cpp.
| bool X86RegisterInfo::hasBasePointer | ( | const MachineFunction & | MF | ) | const |
Definition at line 442 of file X86RegisterInfo.cpp.
References EnableBasePointer, llvm::MachineFunction::getFrameInfo(), llvm::MachineFrameInfo::hasOpaqueSPAdjustment(), llvm::MachineFrameInfo::hasVarSizedObjects(), and needsStackRealignment().
Referenced by llvm::X86FrameLowering::canSimplifyCallFramePseudos(), llvm::X86FrameLowering::determineCalleeSaves(), eliminateFrameIndex(), llvm::X86FrameLowering::emitPrologue(), llvm::X86FrameLowering::getFrameIndexOffset(), llvm::X86FrameLowering::getFrameIndexOffsetFromSP(), llvm::X86FrameLowering::getFrameIndexReference(), llvm::X86FrameLowering::getFrameIndexReferenceFromSP(), getReservedRegs(), LowerINTRINSIC_WO_CHAIN(), and LowerSEHRESTOREFRAME().
|
override |
Definition at line 493 of file X86RegisterInfo.cpp.
References llvm_unreachable.
|
override |
Definition at line 478 of file X86RegisterInfo.cpp.
References canRealignStack(), F(), ForceStackAlign, llvm::MachineFunction::getFrameInfo(), llvm::MachineFunction::getFunction(), llvm::MachineFrameInfo::getMaxAlignment(), llvm::TargetFrameLowering::getStackAlignment(), llvm::Function::hasFnAttribute(), and llvm::Attribute::StackAlignment.
Referenced by llvm::X86FrameLowering::canSimplifyCallFramePseudos(), eliminateFrameIndex(), llvm::X86FrameLowering::emitEpilogue(), llvm::X86FrameLowering::emitPrologue(), llvm::X86InstrInfo::foldMemoryOperandImpl(), llvm::X86FrameLowering::getFrameIndexOffset(), llvm::X86FrameLowering::getFrameIndexReference(), hasBasePointer(), llvm::X86FrameLowering::hasFP(), and LowerSEHRESTOREFRAME().
|
override |
Code Generation virtual methods...
Definition at line 89 of file X86RegisterInfo.cpp.
1.8.6