LLVM 18.0.0git
|
PPCFunctionInfo - This class is derived from MachineFunction private PowerPC target-specific information for each MachineFunction. More...
#include "Target/PowerPC/PPCMachineFunctionInfo.h"
Public Types | |
enum | ParamType { FixedType , ShortFloatingPoint , LongFloatingPoint , VectorChar , VectorShort , VectorInt , VectorFloat } |
Additional Inherited Members | |
![]() | |
template<typename FuncInfoTy , typename SubtargetTy = TargetSubtargetInfo> | |
static FuncInfoTy * | create (BumpPtrAllocator &Allocator, const Function &F, const SubtargetTy *STI) |
Factory function: default behavior is to call new using the supplied allocator. | |
template<typename Ty > | |
static Ty * | create (BumpPtrAllocator &Allocator, const Ty &MFI) |
PPCFunctionInfo - This class is derived from MachineFunction private PowerPC target-specific information for each MachineFunction.
Definition at line 24 of file PPCMachineFunctionInfo.h.
Enumerator | |
---|---|
FixedType | |
ShortFloatingPoint | |
LongFloatingPoint | |
VectorChar | |
VectorShort | |
VectorInt | |
VectorFloat |
Definition at line 26 of file PPCMachineFunctionInfo.h.
|
explicit |
Definition at line 23 of file PPCMachineFunctionInfo.cpp.
|
inline |
This function associates attributes for each live-in virtual register.
Definition at line 248 of file PPCMachineFunctionInfo.h.
|
inline |
Definition at line 265 of file PPCMachineFunctionInfo.h.
References llvm::SmallVectorTemplateBase< T, bool >::push_back(), and Reg.
Referenced by llvm::PPCFrameLowering::spillCalleeSavedRegisters().
void PPCFunctionInfo::appendParameterType | ( | ParamType | Type | ) |
Definition at line 76 of file PPCMachineFunctionInfo.cpp.
References FixedType, llvm_unreachable, LongFloatingPoint, llvm::SmallVectorTemplateBase< T, bool >::push_back(), ShortFloatingPoint, VectorChar, VectorFloat, VectorInt, and VectorShort.
|
overridevirtual |
Make a functionally equivalent copy of this MachineFunctionInfo in MF
.
This requires remapping MachineBasicBlock references from the original parent to values in the new function. Targets may assume that virtual register and frame index values are preserved in the new function.
Reimplemented from llvm::MachineFunctionInfo.
Definition at line 28 of file PPCMachineFunctionInfo.cpp.
References llvm::MachineFunction::cloneInfo().
|
inline |
Definition at line 167 of file PPCMachineFunctionInfo.h.
Referenced by llvm::PPCFrameLowering::determineCalleeSaves(), llvm::PPCFrameLowering::emitEpilogue(), llvm::PPCFrameLowering::emitPrologue(), and llvm::PPCFrameLowering::processFunctionBeforeFrameFinalized().
|
inline |
Definition at line 260 of file PPCMachineFunctionInfo.h.
|
inline |
Definition at line 233 of file PPCMachineFunctionInfo.h.
|
inline |
Definition at line 234 of file PPCMachineFunctionInfo.h.
|
inline |
Definition at line 161 of file PPCMachineFunctionInfo.h.
Referenced by llvm::PPCFrameLowering::determineCalleeSaves(), llvm::PPCRegisterInfo::eliminateFrameIndex(), llvm::PPCFrameLowering::emitEpilogue(), llvm::PPCFrameLowering::emitPrologue(), and llvm::PPCFrameLowering::processFunctionBeforeFrameFinalized().
MCSymbol * PPCFunctionInfo::getGlobalEPSymbol | ( | MachineFunction & | MF | ) | const |
Definition at line 41 of file PPCMachineFunctionInfo.cpp.
References DL, llvm::MachineFunction::getContext(), llvm::MachineFunction::getDataLayout(), llvm::MachineFunction::getFunctionNumber(), and llvm::MCContext::getOrCreateSymbol().
MCSymbol * PPCFunctionInfo::getLocalEPSymbol | ( | MachineFunction & | MF | ) | const |
Definition at line 48 of file PPCMachineFunctionInfo.cpp.
References DL, llvm::MachineFunction::getContext(), llvm::MachineFunction::getDataLayout(), llvm::MachineFunction::getFunctionNumber(), and llvm::MCContext::getOrCreateSymbol().
|
inline |
Definition at line 180 of file PPCMachineFunctionInfo.h.
Referenced by CalculateTailCallSPDiff(), and llvm::PPCFrameLowering::emitEpilogue().
|
inline |
Definition at line 264 of file PPCMachineFunctionInfo.h.
Referenced by llvm::PPCFrameLowering::emitEpilogue(), and llvm::PPCFrameLowering::emitPrologue().
uint32_t PPCFunctionInfo::getParmsType | ( | ) | const |
Definition at line 143 of file PPCMachineFunctionInfo.cpp.
References FixedType, hasVectorParms(), LongFloatingPoint, llvm::XCOFF::TracebackTable::ParmTypeIsDoubleBits, llvm::XCOFF::TracebackTable::ParmTypeIsFixedBits, llvm::XCOFF::TracebackTable::ParmTypeIsFloatingBits, llvm::XCOFF::TracebackTable::ParmTypeIsVectorBits, ShortFloatingPoint, VectorChar, VectorFloat, VectorInt, VectorShort, and llvm::XCOFF::TracebackTable::WidthOfParamType.
|
inline |
Definition at line 170 of file PPCMachineFunctionInfo.h.
Referenced by llvm::PPCFrameLowering::emitEpilogue(), llvm::PPCFrameLowering::emitPrologue(), and llvm::PPCFrameLowering::processFunctionBeforeFrameFinalized().
MCSymbol * PPCFunctionInfo::getPICOffsetSymbol | ( | MachineFunction & | MF | ) | const |
Definition at line 34 of file PPCMachineFunctionInfo.cpp.
References DL, llvm::MachineFunction::getContext(), llvm::MachineFunction::getDataLayout(), llvm::MachineFunction::getFunctionNumber(), and llvm::MCContext::getOrCreateSymbol().
|
inline |
Definition at line 164 of file PPCMachineFunctionInfo.h.
|
inline |
Definition at line 173 of file PPCMachineFunctionInfo.h.
Referenced by llvm::PPCFrameLowering::emitEpilogue(), and llvm::PPCFrameLowering::emitPrologue().
|
inline |
Definition at line 183 of file PPCMachineFunctionInfo.h.
Referenced by llvm::PPCFrameLowering::determineCalleeSaves(), llvm::PPCFrameLowering::emitEpilogue(), and llvm::PPCFrameLowering::processFunctionBeforeFrameFinalized().
MCSymbol * PPCFunctionInfo::getTOCOffsetSymbol | ( | MachineFunction & | MF | ) | const |
Definition at line 55 of file PPCMachineFunctionInfo.cpp.
References DL, llvm::MachineFunction::getContext(), llvm::MachineFunction::getDataLayout(), llvm::MachineFunction::getFunctionNumber(), and llvm::MCContext::getOrCreateSymbol().
|
inline |
Definition at line 224 of file PPCMachineFunctionInfo.h.
|
inline |
Definition at line 244 of file PPCMachineFunctionInfo.h.
|
inline |
Definition at line 230 of file PPCMachineFunctionInfo.h.
|
inline |
Definition at line 227 of file PPCMachineFunctionInfo.h.
uint32_t PPCFunctionInfo::getVecExtParmsType | ( | ) | const |
Definition at line 97 of file PPCMachineFunctionInfo.cpp.
References hasVectorParms(), llvm::XCOFF::TracebackTable::ParmTypeIsVectorCharBit, llvm::XCOFF::TracebackTable::ParmTypeIsVectorFloatBit, llvm::XCOFF::TracebackTable::ParmTypeIsVectorIntBit, llvm::XCOFF::TracebackTable::ParmTypeIsVectorShortBit, VectorChar, VectorFloat, VectorInt, VectorShort, and llvm::XCOFF::TracebackTable::WidthOfParamType.
|
inline |
Definition at line 235 of file PPCMachineFunctionInfo.h.
|
inline |
Definition at line 222 of file PPCMachineFunctionInfo.h.
Referenced by llvm::PPCFrameLowering::emitEpilogue().
|
inline |
Definition at line 207 of file PPCMachineFunctionInfo.h.
Referenced by hasNonRISpills().
|
inline |
Definition at line 204 of file PPCMachineFunctionInfo.h.
Referenced by hasSpills().
|
inline |
Definition at line 236 of file PPCMachineFunctionInfo.h.
Referenced by getParmsType(), and getVecExtParmsType().
|
inline |
Definition at line 210 of file PPCMachineFunctionInfo.h.
Referenced by spillsCR().
This function returns true if the specified vreg is a live-in register and sign-extended.
Definition at line 62 of file PPCMachineFunctionInfo.cpp.
Referenced by llvm::PPCInstrInfo::isSignOrZeroExtended().
This function returns true if the specified vreg is a live-in register and zero-extended.
Definition at line 69 of file PPCMachineFunctionInfo.cpp.
Referenced by llvm::PPCInstrInfo::isSignOrZeroExtended().
|
inline |
Definition at line 216 of file PPCMachineFunctionInfo.h.
Referenced by MustSaveLR().
|
inline |
Definition at line 213 of file PPCMachineFunctionInfo.h.
|
inline |
Definition at line 192 of file PPCMachineFunctionInfo.h.
Referenced by llvm::PPCFrameLowering::emitEpilogue(), and llvm::PPCFrameLowering::emitPrologue().
|
inline |
Definition at line 195 of file PPCMachineFunctionInfo.h.
Referenced by llvm::PPCFrameLowering::determineFrameLayout(), llvm::PPCFrameLowering::emitPrologue(), llvm::PPCFrameLowering::processFunctionBeforeFrameFinalized(), llvm::PPCFrameLowering::restoreCalleeSavedRegisters(), and llvm::PPCFrameLowering::spillCalleeSavedRegisters().
|
inline |
Definition at line 168 of file PPCMachineFunctionInfo.h.
References Idx.
Referenced by llvm::PPCFrameLowering::determineCalleeSaves().
|
inline |
Definition at line 261 of file PPCMachineFunctionInfo.h.
Referenced by llvm::PPCFrameLowering::determineCalleeSaves().
|
inline |
Definition at line 212 of file PPCMachineFunctionInfo.h.
|
inline |
Definition at line 162 of file PPCMachineFunctionInfo.h.
References Idx.
Referenced by llvm::PPCFrameLowering::determineCalleeSaves().
|
inline |
Definition at line 221 of file PPCMachineFunctionInfo.h.
|
inline |
Definition at line 206 of file PPCMachineFunctionInfo.h.
Referenced by fixupFuncForFI().
|
inline |
Definition at line 203 of file PPCMachineFunctionInfo.h.
Referenced by llvm::PPCInstrInfo::loadRegFromStackSlotNoUpd().
|
inline |
Definition at line 215 of file PPCMachineFunctionInfo.h.
|
inline |
Definition at line 181 of file PPCMachineFunctionInfo.h.
References llvm::size().
|
inline |
MustSaveLR - This is set when the prolog/epilog inserter does its initial scan of the function.
It is true if the LR/LR8 register is ever explicitly defined/clobbered in the machine function (e.g. by calls and movpctolr, which is used in PIC generation), or if the LR stack slot is explicitly referenced by builtin_return_address.
Definition at line 191 of file PPCMachineFunctionInfo.h.
Referenced by llvm::PPCFrameLowering::determineCalleeSaves().
|
inline |
Definition at line 194 of file PPCMachineFunctionInfo.h.
|
inline |
Definition at line 171 of file PPCMachineFunctionInfo.h.
References Idx.
Referenced by llvm::PPCFrameLowering::determineCalleeSaves().
|
inline |
Definition at line 165 of file PPCMachineFunctionInfo.h.
|
inline |
Definition at line 176 of file PPCMachineFunctionInfo.h.
References Idx.
|
inline |
We certainly don't want to shrink wrap functions if we've emitted a MovePCtoLR8 as that has to go into the entry, so the prologue definitely has to go into the entry block.
Definition at line 200 of file PPCMachineFunctionInfo.h.
|
inline |
Definition at line 209 of file PPCMachineFunctionInfo.h.
Referenced by llvm::PPCFrameLowering::spillCalleeSavedRegisters().
|
inline |
Definition at line 184 of file PPCMachineFunctionInfo.h.
References llvm::size().
Referenced by CalculateTailCallSPDiff().
|
inline |
Definition at line 267 of file PPCMachineFunctionInfo.h.
References uses().
|
inline |
Definition at line 218 of file PPCMachineFunctionInfo.h.
Referenced by setUsesTOCBasePtr().
|
inline |
Definition at line 225 of file PPCMachineFunctionInfo.h.
|
inline |
Definition at line 245 of file PPCMachineFunctionInfo.h.
|
inline |
Definition at line 231 of file PPCMachineFunctionInfo.h.
|
inline |
Definition at line 228 of file PPCMachineFunctionInfo.h.
References llvm::Offset.
|
inline |
Definition at line 201 of file PPCMachineFunctionInfo.h.
Referenced by llvm::PPCFrameLowering::enableShrinkWrapping().
|
inline |
Definition at line 268 of file PPCMachineFunctionInfo.h.
Referenced by llvm::PPCFrameLowering::determineCalleeSaves(), llvm::PPCFrameLowering::emitEpilogue(), llvm::PPCFrameLowering::emitPrologue(), and llvm::PPCFrameLowering::processFunctionBeforeFrameFinalized().
|
inline |
Definition at line 219 of file PPCMachineFunctionInfo.h.
Referenced by llvm::PPCRegisterInfo::getReservedRegs().