| /freebsd-src/contrib/llvm-project/llvm/lib/Target/X86/ |
| H A D | X86FrameLowering.h | 57 void emitStackProbe(MachineFunction &MF, MachineBasicBlock &MBB, 60 std::optional<MachineFunction::DebugInstrOperandPair> 66 void inlineStackProbe(MachineFunction &MF, 78 void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const override; 79 void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const override; 81 void adjustForSegmentedStacks(MachineFunction &MF, 84 void adjustForHiPEPrologue(MachineFunction &MF, 87 void determineCalleeSaves(MachineFunction &MF, BitVector &SavedRegs, 91 assignCalleeSavedSpillSlots(MachineFunction &MF, 106 bool hasFP(const MachineFunction &MF) const override; [all …]
|
| H A D | X86RegisterInfo.h | 55 unsigned getNumSupportedRegs(const MachineFunction &MF) const override; 74 const MachineFunction &MF) const override; 84 getPointerRegClass(const MachineFunction &MF, 96 getGPRsForTailCall(const MachineFunction &MF) const; 99 MachineFunction &MF) const override; 104 getCalleeSavedRegs(const MachineFunction* MF) const override; 106 getCalleeSavedRegsViaCopy(const MachineFunction *MF) const; 107 const uint32_t *getCallPreservedMask(const MachineFunction &MF, 119 BitVector getReservedRegs(const MachineFunction &MF) const override; 123 bool isArgumentRegister(const MachineFunction &MF, [all …]
|
| /freebsd-src/contrib/llvm-project/llvm/lib/Target/WebAssembly/ |
| H A D | WebAssemblyFrameLowering.h | 37 eliminateCallFramePseudoInstr(MachineFunction &MF, MachineBasicBlock &MBB, 41 void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const override; 42 void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const override; 44 bool hasFP(const MachineFunction &MF) const override; 45 bool hasReservedCallFrame(const MachineFunction &MF) const override; 47 DwarfFrameBase getDwarfFrameBase(const MachineFunction &MF) const override; 49 bool needsPrologForEH(const MachineFunction &MF) const; 52 void writeSPToGlobal(unsigned SrcReg, MachineFunction &MF, 59 static std::optional<unsigned> getLocalForStackObject(MachineFunction &MF, 62 static unsigned getSPReg(const MachineFunction &MF); [all …]
|
| /freebsd-src/contrib/llvm-project/llvm/lib/Target/AArch64/ |
| H A D | AArch64RegisterInfo.h | 21 class MachineFunction; variable 37 bool isReservedReg(const MachineFunction &MF, MCRegister Reg) const; 38 bool isStrictlyReservedReg(const MachineFunction &MF, MCRegister Reg) const; 39 bool isAnyArgRegReserved(const MachineFunction &MF) const; 40 void emitReservedArgRegCallError(const MachineFunction &MF) const; 42 void UpdateCustomCalleeSavedRegs(MachineFunction &MF) const; 43 void UpdateCustomCallPreservedMask(MachineFunction &MF, 47 const MCPhysReg *getCalleeSavedRegs(const MachineFunction *MF) const override; 48 const MCPhysReg *getDarwinCalleeSavedRegs(const MachineFunction *MF) const; 50 getCalleeSavedRegsViaCopy(const MachineFunction *M [all...] |
| H A D | AArch64FrameLowering.h | 31 eliminateCallFramePseudoInstr(MachineFunction &MF, MachineBasicBlock &MBB, 36 void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const override; 37 void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const override; 39 bool enableCFIFixup(MachineFunction &MF) const override; 43 StackOffset getFrameIndexReference(const MachineFunction &MF, int FI, 45 StackOffset getFrameIndexReferenceFromSP(const MachineFunction &MF, 47 StackOffset resolveFrameIndexReference(const MachineFunction &MF, int FI, 50 StackOffset resolveFrameOffsetReference(const MachineFunction &MF, 66 bool canUseRedZone(const MachineFunction &MF) const; 68 bool hasFP(const MachineFunction [all...] |
| /freebsd-src/contrib/llvm-project/llvm/lib/Target/SystemZ/ |
| H A D | SystemZFrameLowering.h | 32 const MachineFunction &MF) const override { in allocateScavengingFrameIndexesNearIncomingSP() 43 bool hasReservedCallFrame(const MachineFunction &MF) const override; 46 virtual unsigned getBackchainOffset(MachineFunction &MF) const = 0; 49 virtual int getReturnAddressOffset(MachineFunction &MF) const = 0; 52 virtual int getOrCreateFramePointerSaveIndex(MachineFunction &MF) const = 0; 69 assignCalleeSavedSpillSlots(MachineFunction &MF, 72 void determineCalleeSaves(MachineFunction &MF, BitVector &SavedRegs, 83 void processFunctionBeforeFrameFinalized(MachineFunction &MF, 85 void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const override; 86 void emitEpilogue(MachineFunction [all...] |
| H A D | SystemZRegisterInfo.h | 63 getCalleeSavedRegs(const MachineFunction *MF) const = 0; 66 virtual const uint32_t *getCallPreservedMask(const MachineFunction &MF, 94 const MCPhysReg *getCalleeSavedRegs(const MachineFunction *MF) const final; 96 const uint32_t *getCallPreservedMask(const MachineFunction &MF, 117 const MCPhysReg *getCalleeSavedRegs(const MachineFunction *MF) const final; 119 const uint32_t *getCallPreservedMask(const MachineFunction &MF, 138 getPointerRegClass(const MachineFunction &MF, 151 const MachineFunction &MF, const VirtRegMap *VRM, 155 bool requiresRegisterScavenging(const MachineFunction &MF) const override { in requiresRegisterScavenging() 158 bool requiresFrameIndexScavenging(const MachineFunction &MF) const override { in requiresFrameIndexScavenging() [all …]
|
| /freebsd-src/contrib/llvm-project/llvm/include/llvm/CodeGen/ |
| H A D | TargetFrameLowering.h | 25 class MachineFunction; 152 const MachineFunction &MF) const; 160 virtual bool assignCalleeSavedSpillSlots(MachineFunction &MF, in assignCalleeSavedSpillSlots() 169 assignCalleeSavedSpillSlots(MachineFunction &MF, in assignCalleeSavedSpillSlots() 198 virtual bool enableShrinkWrapping(const MachineFunction &MF) const { in enableShrinkWrapping() 205 virtual bool enableStackSlotScavenging(const MachineFunction &MF) const { in enableStackSlotScavenging() 211 virtual bool enableCalleeSaveSkip(const MachineFunction &MF) const; 215 virtual void emitPrologue(MachineFunction &MF, 217 virtual void emitEpilogue(MachineFunction &MF, 232 virtual bool enableCFIFixup(MachineFunction 24 class MachineFunction; global() variable [all...] |
| H A D | TargetRegisterInfo.h | 38 class MachineFunction; variable 71 ArrayRef<MCPhysReg> (*OrderFunc)(const MachineFunction&); 199 /// The MachineFunction argument can be used to tune the allocatable 204 ArrayRef<MCPhysReg> getRawAllocationOrder(const MachineFunction &MF) const { in getRawAllocationOrder() 281 virtual unsigned getNumSupportedRegs(const MachineFunction &) const { 368 BitVector getAllocatableSet(const MachineFunction &MF, in getRegisterCosts() 373 ArrayRef<uint8_t> getRegisterCosts(const MachineFunction &MF) const { in isInAllocatableClass() 490 getCalleeSavedRegs(const MachineFunction *MF) const = 0; in getCallPreservedMask() 510 virtual const uint32_t *getCallPreservedMask(const MachineFunction &MF, 519 getCustomEHPadPreservedMask(const MachineFunction 270 getNumSupportedRegs(const MachineFunction &) getNumSupportedRegs() argument 830 getLargestLegalSuperClass(const TargetRegisterClass * RC,const MachineFunction &) getLargestLegalSuperClass() argument [all...] |
| /freebsd-src/contrib/llvm-project/llvm/lib/Target/ARM/ |
| H A D | ARMFrameLowering.h | 19 class MachineFunction; variable 30 void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const override; 31 void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const override; 44 bool keepFramePointer(const MachineFunction &MF) const override; 46 bool enableCalleeSaveSkip(const MachineFunction &MF) const override; 48 bool hasFP(const MachineFunction &MF) const override; 49 bool isFPReserved(const MachineFunction &MF) const; 50 bool requiresAAPCSFrameRecord(const MachineFunction &MF) const; 51 bool hasReservedCallFrame(const MachineFunction &MF) const override; 52 bool canSimplifyCallFramePseudos(const MachineFunction [all...] |
| H A D | ARMBaseRegisterInfo.h | 139 const MCPhysReg *getCalleeSavedRegs(const MachineFunction *MF) const override; 141 getCalleeSavedRegsViaCopy(const MachineFunction *MF) const; 142 const uint32_t *getCallPreservedMask(const MachineFunction &MF, 145 const uint32_t *getTLSCallPreservedMask(const MachineFunction &MF) const; 146 const uint32_t *getSjLjDispatchPreservedMask(const MachineFunction &MF) const; 156 const uint32_t *getThisReturnPreservedMask(const MachineFunction &MF, 160 getIntraCallClobberedRegs(const MachineFunction *MF) const override; 162 BitVector getReservedRegs(const MachineFunction &MF) const override; 163 bool isAsmClobberable(const MachineFunction &MF, 165 bool isInlineAsmReadOnlyReg(const MachineFunction [all...] |
| /freebsd-src/contrib/llvm-project/llvm/lib/Target/AMDGPU/ |
| H A D | SIFrameLowering.h | 24 void emitEntryFunctionPrologue(MachineFunction &MF, 26 void emitPrologue(MachineFunction &MF, 28 void emitEpilogue(MachineFunction &MF, 30 StackOffset getFrameIndexReference(const MachineFunction &MF, int FI, 33 void determineCalleeSaves(MachineFunction &MF, BitVector &SavedRegs, 35 void determineCalleeSavesSGPR(MachineFunction &MF, BitVector &SavedRegs, 37 void determinePrologEpilogSGPRSaves(MachineFunction &MF, BitVector &SavedRegs, 39 void emitCSRSpillStores(MachineFunction &MF, MachineBasicBlock &MBB, 43 void emitCSRSpillRestores(MachineFunction &MF, MachineBasicBlock &MBB, 48 assignCalleeSavedSpillSlots(MachineFunction &MF, [all …]
|
| /freebsd-src/contrib/llvm-project/llvm/lib/Target/RISCV/ |
| H A D | RISCVFrameLowering.h | 26 void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const override; 27 void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const override; 29 uint64_t getStackSizeWithRVVPadding(const MachineFunction &MF) const; 31 StackOffset getFrameIndexReference(const MachineFunction &MF, int FI, 34 void determineCalleeSaves(MachineFunction &MF, BitVector &SavedRegs, 37 void processFunctionBeforeFrameFinalized(MachineFunction &MF, 40 bool hasFP(const MachineFunction &MF) const override; 42 bool hasBP(const MachineFunction &MF) const; 44 bool hasReservedCallFrame(const MachineFunction &MF) const override; 46 eliminateCallFramePseudoInstr(MachineFunction [all...] |
| H A D | RISCVRegisterInfo.h | 60 const uint32_t *getCallPreservedMask(const MachineFunction &MF, 63 const MCPhysReg *getCalleeSavedRegs(const MachineFunction *MF) const override; 65 BitVector getReservedRegs(const MachineFunction &MF) const override; 66 bool isAsmClobberable(const MachineFunction &MF, 84 bool requiresVirtualBaseRegisters(const MachineFunction &MF) const override; 103 Register getFrameRegister(const MachineFunction &MF) const override; 105 bool requiresRegisterScavenging(const MachineFunction &MF) const override { 109 bool requiresFrameIndexScavenging(const MachineFunction &MF) const override { 114 getPointerRegClass(const MachineFunction &MF, 121 const MachineFunction [all...] |
| /freebsd-src/contrib/llvm-project/llvm/lib/Target/Hexagon/ |
| H A D | HexagonFrameLowering.h | 26 class MachineFunction; variable 39 orderFrameObjects(const MachineFunction &MF, 45 void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const 47 void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const 50 bool enableCalleeSaveSkip(const MachineFunction &MF) const override; in spillCalleeSavedRegisters() 67 bool hasReservedCallFrame(const MachineFunction &MF) const override { 72 bool canSimplifyCallFramePseudos(const MachineFunction &MF) const override { in canSimplifyCallFramePseudos() 79 eliminateCallFramePseudoInstr(MachineFunction &MF, MachineBasicBlock &MBB, 81 void processFunctionBeforeFrameFinalized(MachineFunction &MF, 83 void determineCalleeSaves(MachineFunction in targetHandlesStackFrameRounding() [all...] |
| H A D | HexagonRegisterInfo.h | 34 const MCPhysReg *getCalleeSavedRegs(const MachineFunction *MF) 36 const uint32_t *getCallPreservedMask(const MachineFunction &MF, 39 BitVector getReservedRegs(const MachineFunction &MF) const override; 46 bool requiresRegisterScavenging(const MachineFunction &MF) const override { in requiresRegisterScavenging() 52 bool requiresFrameIndexScavenging(const MachineFunction &MF) const override { in requiresFrameIndexScavenging() 57 bool useFPForScavengingIndex(const MachineFunction &MF) const override; 64 Register getFrameRegister(const MachineFunction &MF) const override; 71 const MCPhysReg *getCallerSavedRegs(const MachineFunction *MF, 75 getPointerRegClass(const MachineFunction &MF,
|
| /freebsd-src/contrib/llvm-project/llvm/lib/Target/VE/ |
| H A D | VEFrameLowering.h | 29 void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const override; 30 void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const override; 31 void emitPrologueInsns(MachineFunction &MF, MachineBasicBlock &MBB, 34 void emitEpilogueInsns(MachineFunction &MF, MachineBasicBlock &MBB, 39 eliminateCallFramePseudoInstr(MachineFunction &MF, MachineBasicBlock &MBB, 42 bool hasFP(const MachineFunction &MF) const override; 43 bool hasBP(const MachineFunction &MF) const; 44 bool hasGOT(const MachineFunction &MF) const; 48 bool hasReservedCallFrame(const MachineFunction &MF) const override { in hasReservedCallFrame() 51 void determineCalleeSaves(MachineFunction &MF, BitVector &SavedRegs, [all …]
|
| /freebsd-src/contrib/llvm-project/llvm/lib/Target/PowerPC/ |
| H A D | PPCFrameLowering.h | 83 bool stackUpdateCanBeMoved(MachineFunction &MF) const; 91 uint64_t determineFrameLayoutAndUpdate(MachineFunction &MF, 96 * The MachineFunction object can be const in this case as it is not 99 uint64_t determineFrameLayout(const MachineFunction &MF, 105 void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const override; 106 void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const override; 107 void inlineStackProbe(MachineFunction &MF, 110 bool hasFP(const MachineFunction &MF) const override; 111 bool needsFP(const MachineFunction &MF) const; 112 void replaceFPWithRealFP(MachineFunction [all...] |
| H A D | PPCRegisterInfo.h | 76 getPointerRegClass(const MachineFunction &MF, unsigned Kind=0) const override; 79 MachineFunction &MF) const override; 83 const MachineFunction &MF) const override; 86 const MCPhysReg *getCalleeSavedRegs(const MachineFunction *MF) const override; 87 const uint32_t *getCallPreservedMask(const MachineFunction &MF, 93 BitVector getReservedRegs(const MachineFunction &MF) const override; 94 bool isAsmClobberable(const MachineFunction &MF, 97 const MachineFunction &MF) const override; 106 const MachineFunction &MF, const VirtRegMap *VRM, 110 bool requiresRegisterScavenging(const MachineFunction &MF) const override { in requiresRegisterScavenging() [all …]
|
| /freebsd-src/contrib/llvm-project/llvm/lib/Target/LoongArch/ |
| H A D | LoongArchFrameLowering.h | 31 void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const override; 32 void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const override; 34 void determineCalleeSaves(MachineFunction &MF, BitVector &SavedRegs, 37 void processFunctionBeforeFrameFinalized(MachineFunction &MF, 40 bool hasReservedCallFrame(const MachineFunction &MF) const override; 42 eliminateCallFramePseudoInstr(MachineFunction &MF, MachineBasicBlock &MBB, 49 StackOffset getFrameIndexReference(const MachineFunction &MF, int FI, 52 bool hasFP(const MachineFunction &MF) const override; 53 bool hasBP(const MachineFunction &MF) const; 55 uint64_t getFirstSPAdjustAmount(const MachineFunction [all...] |
| H A D | LoongArchRegisterInfo.h | 28 const MCPhysReg *getCalleeSavedRegs(const MachineFunction *MF) const override; 29 const uint32_t *getCallPreservedMask(const MachineFunction &MF, 33 BitVector getReservedRegs(const MachineFunction &MF) const override; 36 getPointerRegClass(const MachineFunction &MF, 45 Register getFrameRegister(const MachineFunction &MF) const override; 47 bool requiresRegisterScavenging(const MachineFunction &MF) const override { in requiresRegisterScavenging() 51 bool requiresFrameIndexScavenging(const MachineFunction &MF) const override { in requiresFrameIndexScavenging() 54 bool canRealignStack(const MachineFunction &MF) const override;
|
| /freebsd-src/contrib/llvm-project/llvm/lib/Target/Sparc/ |
| H A D | SparcFrameLowering.h | 29 void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const override; 30 void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const override; 33 eliminateCallFramePseudoInstr(MachineFunction &MF, 37 bool hasReservedCallFrame(const MachineFunction &MF) const override; 38 bool hasFP(const MachineFunction &MF) const override; 39 void determineCalleeSaves(MachineFunction &MF, BitVector &SavedRegs, 42 StackOffset getFrameIndexReference(const MachineFunction &MF, int FI, 52 void remapRegsForLeafProc(MachineFunction &MF) const; 55 bool isLeafProc(MachineFunction &MF) const; 59 void emitSPAdjustment(MachineFunction &MF,
|
| /freebsd-src/contrib/llvm-project/llvm/lib/Target/M68k/ |
| H A D | M68kFrameLowering.h | 43 uint64_t calculateMaxStackAlign(const MachineFunction &MF) const; 64 unsigned getPSPSlotOffsetFromSP(const MachineFunction &MF) const; 78 eliminateCallFramePseudoInstr(MachineFunction &MF, MachineBasicBlock &MBB, 82 void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const override; 85 void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const override; 94 void determineCalleeSaves(MachineFunction &MF, BitVector &SavedRegs, 103 assignCalleeSavedSpillSlots(MachineFunction &MF, 128 bool hasFP(const MachineFunction &MF) const override; 135 bool hasReservedCallFrame(const MachineFunction &MF) const override; 141 bool canSimplifyCallFramePseudos(const MachineFunction &MF) const override; [all …]
|
| /freebsd-src/contrib/llvm-project/llvm/lib/CodeGen/ |
| H A D | MachineFunction.cpp | 1 //===- MachineFunction.cpp ------------------------------------------------===// 15 #include "llvm/CodeGen/MachineFunction.h" 134 void MachineFunction::Delegate::anchor() {} in anchor() 147 // MachineFunction implementation 164 MachineFunction::MachineFunction(Function &F, const LLVMTargetMachine &Target, in MachineFunction() function in MachineFunction 172 void MachineFunction::handleInsertion(MachineInstr &MI) { in handleInsertion() 177 void MachineFunction::handleRemoval(MachineInstr &MI) { in handleRemoval() 182 void MachineFunction::handleChangeDesc(MachineInstr &MI, in handleChangeDesc() 188 void MachineFunction [all...] |
| /freebsd-src/contrib/llvm-project/llvm/lib/Target/CSKY/ |
| H A D | CSKYFrameLowering.h | 24 void determineFrameLayout(MachineFunction &MF) const; 36 void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const override; 37 void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const override; 39 StackOffset getFrameIndexReference(const MachineFunction &MF, int FI, 42 void determineCalleeSaves(MachineFunction &MF, BitVector &SavedRegs, 46 MachineFunction &MF, const TargetRegisterInfo *TRI, in assignCalleeSavedSpillSlots() 64 bool hasFP(const MachineFunction &MF) const override; 65 bool hasBP(const MachineFunction &MF) const; 67 bool hasReservedCallFrame(const MachineFunction &MF) const override; 70 eliminateCallFramePseudoInstr(MachineFunction &MF, MachineBasicBlock &MBB,
|