LLVM 20.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 | |
Static Public Member Functions inherited from llvm::MachineFunctionInfo | |
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 260 of file PPCMachineFunctionInfo.h.
|
inline |
Definition at line 277 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 172 of file PPCMachineFunctionInfo.h.
Referenced by llvm::PPCFrameLowering::determineCalleeSaves(), llvm::PPCFrameLowering::emitEpilogue(), llvm::PPCFrameLowering::emitPrologue(), and llvm::PPCFrameLowering::processFunctionBeforeFrameFinalized().
|
inline |
Definition at line 272 of file PPCMachineFunctionInfo.h.
|
inline |
Definition at line 245 of file PPCMachineFunctionInfo.h.
|
inline |
Definition at line 246 of file PPCMachineFunctionInfo.h.
|
inline |
Definition at line 166 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 185 of file PPCMachineFunctionInfo.h.
Referenced by CalculateTailCallSPDiff(), and llvm::PPCFrameLowering::emitEpilogue().
|
inline |
Definition at line 276 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 175 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 169 of file PPCMachineFunctionInfo.h.
|
inline |
Definition at line 178 of file PPCMachineFunctionInfo.h.
Referenced by llvm::PPCFrameLowering::emitEpilogue(), and llvm::PPCFrameLowering::emitPrologue().
|
inline |
Definition at line 188 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 236 of file PPCMachineFunctionInfo.h.
|
inline |
Definition at line 256 of file PPCMachineFunctionInfo.h.
|
inline |
Definition at line 242 of file PPCMachineFunctionInfo.h.
|
inline |
Definition at line 239 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 247 of file PPCMachineFunctionInfo.h.
|
inline |
Definition at line 227 of file PPCMachineFunctionInfo.h.
Referenced by llvm::PPCFrameLowering::emitEpilogue().
|
inline |
Definition at line 212 of file PPCMachineFunctionInfo.h.
Referenced by hasNonRISpills().
|
inline |
Definition at line 209 of file PPCMachineFunctionInfo.h.
Referenced by hasSpills().
|
inline |
Definition at line 248 of file PPCMachineFunctionInfo.h.
Referenced by getParmsType(), and getVecExtParmsType().
|
inline |
Definition at line 230 of file PPCMachineFunctionInfo.h.
Referenced by updateForAIXShLibTLSModelOpt().
|
inline |
Definition at line 234 of file PPCMachineFunctionInfo.h.
Referenced by GetSymbolRef(), and updateForAIXShLibTLSModelOpt().
|
inline |
Definition at line 215 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 221 of file PPCMachineFunctionInfo.h.
Referenced by MustSaveLR().
|
inline |
Definition at line 218 of file PPCMachineFunctionInfo.h.
|
inline |
Definition at line 197 of file PPCMachineFunctionInfo.h.
Referenced by llvm::PPCFrameLowering::emitEpilogue(), and llvm::PPCFrameLowering::emitPrologue().
|
inline |
Definition at line 200 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 229 of file PPCMachineFunctionInfo.h.
Referenced by updateForAIXShLibTLSModelOpt().
|
inline |
Definition at line 233 of file PPCMachineFunctionInfo.h.
Referenced by updateForAIXShLibTLSModelOpt().
|
inline |
Definition at line 173 of file PPCMachineFunctionInfo.h.
References Idx.
Referenced by llvm::PPCFrameLowering::determineCalleeSaves().
|
inline |
Definition at line 273 of file PPCMachineFunctionInfo.h.
Referenced by llvm::PPCFrameLowering::determineCalleeSaves().
|
inline |
Definition at line 217 of file PPCMachineFunctionInfo.h.
|
inline |
Definition at line 167 of file PPCMachineFunctionInfo.h.
References Idx.
Referenced by llvm::PPCFrameLowering::determineCalleeSaves().
|
inline |
Definition at line 226 of file PPCMachineFunctionInfo.h.
|
inline |
Definition at line 211 of file PPCMachineFunctionInfo.h.
Referenced by fixupFuncForFI().
|
inline |
Definition at line 208 of file PPCMachineFunctionInfo.h.
|
inline |
Definition at line 220 of file PPCMachineFunctionInfo.h.
|
inline |
Definition at line 186 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 196 of file PPCMachineFunctionInfo.h.
Referenced by llvm::PPCFrameLowering::determineCalleeSaves().
|
inline |
Definition at line 199 of file PPCMachineFunctionInfo.h.
|
inline |
Definition at line 176 of file PPCMachineFunctionInfo.h.
References Idx.
Referenced by llvm::PPCFrameLowering::determineCalleeSaves().
|
inline |
Definition at line 170 of file PPCMachineFunctionInfo.h.
|
inline |
Definition at line 181 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 205 of file PPCMachineFunctionInfo.h.
|
inline |
Definition at line 214 of file PPCMachineFunctionInfo.h.
Referenced by llvm::PPCFrameLowering::spillCalleeSavedRegisters().
|
inline |
Definition at line 189 of file PPCMachineFunctionInfo.h.
References llvm::size().
Referenced by CalculateTailCallSPDiff().
|
inline |
Definition at line 279 of file PPCMachineFunctionInfo.h.
References uses().
|
inline |
Definition at line 223 of file PPCMachineFunctionInfo.h.
Referenced by setUsesTOCBasePtr().
|
inline |
Definition at line 237 of file PPCMachineFunctionInfo.h.
|
inline |
Definition at line 257 of file PPCMachineFunctionInfo.h.
|
inline |
Definition at line 243 of file PPCMachineFunctionInfo.h.
|
inline |
Definition at line 240 of file PPCMachineFunctionInfo.h.
References llvm::Offset.
|
inline |
Definition at line 206 of file PPCMachineFunctionInfo.h.
Referenced by llvm::PPCFrameLowering::enableShrinkWrapping().
|
inline |
Definition at line 280 of file PPCMachineFunctionInfo.h.
Referenced by llvm::PPCFrameLowering::determineCalleeSaves(), llvm::PPCFrameLowering::emitEpilogue(), llvm::PPCFrameLowering::emitPrologue(), and llvm::PPCFrameLowering::processFunctionBeforeFrameFinalized().
|
inline |
Definition at line 224 of file PPCMachineFunctionInfo.h.
Referenced by llvm::PPCRegisterInfo::getReservedRegs().