/external/llvm-project/llvm/lib/Target/WebAssembly/ |
D | WebAssemblyFrameLowering.cpp | 46 bool WebAssemblyFrameLowering::hasBP(const MachineFunction &MF) const { in hasBP() 48 MF.getSubtarget<WebAssemblySubtarget>().getRegisterInfo(); in hasBP() 49 return RegInfo->needsStackRealignment(MF); in hasBP() 54 bool WebAssemblyFrameLowering::hasFP(const MachineFunction &MF) const { in hasFP() 55 const MachineFrameInfo &MFI = MF.getFrameInfo(); in hasFP() 64 bool NeedsFixedReference = !hasBP(MF) || HasFixedSizedObjects; in hasFP() 77 const MachineFunction &MF) const { in hasReservedCallFrame() 78 return !MF.getFrameInfo().hasVarSizedObjects(); in hasReservedCallFrame() 84 const MachineFunction &MF) const { in needsSPForLocalFrame() 85 auto &MFI = MF.getFrameInfo(); in needsSPForLocalFrame() [all …]
|
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; 46 DwarfFrameBase getDwarfFrameBase(const MachineFunction &MF) const override; 48 bool needsPrologForEH(const MachineFunction &MF) const; 51 void writeSPToGlobal(unsigned SrcReg, MachineFunction &MF, 56 static unsigned getSPReg(const MachineFunction &MF); 57 static unsigned getFPReg(const MachineFunction &MF); [all …]
|
D | WebAssemblyLateEHPrepare.cpp | 34 bool runOnMachineFunction(MachineFunction &MF) override; 35 void recordCatchRetBBs(MachineFunction &MF); 36 bool addCatches(MachineFunction &MF); 37 bool replaceFuncletReturns(MachineFunction &MF); 38 bool removeUnnecessaryUnreachables(MachineFunction &MF); 39 bool addExceptionExtraction(MachineFunction &MF); 40 bool restoreStackPointer(MachineFunction &MF); 67 MachineFunction *MF = MI->getParent()->getParent(); in getMatchingEHPad() local 83 if (MBB == &MF->front()) in getMatchingEHPad() 110 bool WebAssemblyLateEHPrepare::runOnMachineFunction(MachineFunction &MF) { in runOnMachineFunction() argument [all …]
|
/external/llvm-project/llvm/unittests/MI/ |
D | LiveIntervalTest.cpp | 87 bool runOnMachineFunction(MachineFunction &MF) override { in runOnMachineFunction() 89 T(MF, LIS); in runOnMachineFunction() 90 EXPECT_TRUE(MF.verify(this)); in runOnMachineFunction() 104 static MachineInstr &getMI(MachineFunction &MF, unsigned At, in getMI() argument 106 MachineBasicBlock &MBB = *MF.getBlockNumbered(BlockNum); in getMI() 121 static void testHandleMove(MachineFunction &MF, LiveIntervals &LIS, in testHandleMove() argument 123 MachineInstr &FromInstr = getMI(MF, From, BlockNum); in testHandleMove() 124 MachineInstr &ToInstr = getMI(MF, To, BlockNum); in testHandleMove() 136 static void testHandleMoveIntoNewBundle(MachineFunction &MF, LiveIntervals &LIS, in testHandleMoveIntoNewBundle() argument 139 MachineInstr &FromInstr = getMI(MF, From, BlockNum); in testHandleMoveIntoNewBundle() [all …]
|
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Target/WebAssembly/ |
D | WebAssemblyFrameLowering.cpp | 45 bool WebAssemblyFrameLowering::hasBP(const MachineFunction &MF) const { in hasBP() 47 MF.getSubtarget<WebAssemblySubtarget>().getRegisterInfo(); in hasBP() 48 return RegInfo->needsStackRealignment(MF); in hasBP() 53 bool WebAssemblyFrameLowering::hasFP(const MachineFunction &MF) const { in hasFP() 54 const MachineFrameInfo &MFI = MF.getFrameInfo(); in hasFP() 63 bool NeedsFixedReference = !hasBP(MF) || HasFixedSizedObjects; in hasFP() 76 const MachineFunction &MF) const { in hasReservedCallFrame() 77 return !MF.getFrameInfo().hasVarSizedObjects(); in hasReservedCallFrame() 83 const MachineFunction &MF) const { in needsSPForLocalFrame() 84 auto &MFI = MF.getFrameInfo(); in needsSPForLocalFrame() [all …]
|
/external/llvm-project/llvm/lib/Target/AArch64/ |
D | AArch64RegisterInfo.cpp | 65 bool AArch64RegisterInfo::hasSVEArgsOrReturn(const MachineFunction *MF) { in hasSVEArgsOrReturn() argument 66 const Function &F = MF->getFunction(); in hasSVEArgsOrReturn() 74 AArch64RegisterInfo::getCalleeSavedRegs(const MachineFunction *MF) const { in getCalleeSavedRegs() 75 assert(MF && "Invalid MachineFunction pointer."); in getCalleeSavedRegs() 77 if (MF->getFunction().getCallingConv() == CallingConv::GHC) in getCalleeSavedRegs() 81 if (MF->getFunction().getCallingConv() == CallingConv::AnyReg) in getCalleeSavedRegs() 86 if (MF->getSubtarget<AArch64Subtarget>().isTargetDarwin()) in getCalleeSavedRegs() 87 return getDarwinCalleeSavedRegs(MF); in getCalleeSavedRegs() 89 if (MF->getFunction().getCallingConv() == CallingConv::CFGuard_Check) in getCalleeSavedRegs() 91 if (MF->getSubtarget<AArch64Subtarget>().isTargetWindows()) in getCalleeSavedRegs() [all …]
|
D | AArch64RegisterInfo.h | 37 bool isReservedReg(const MachineFunction &MF, MCRegister Reg) const; 38 bool isAnyArgRegReserved(const MachineFunction &MF) const; 39 void emitReservedArgRegCallError(const MachineFunction &MF) const; 41 void UpdateCustomCalleeSavedRegs(MachineFunction &MF) const; 42 void UpdateCustomCallPreservedMask(MachineFunction &MF, 45 static bool hasSVEArgsOrReturn(const MachineFunction *MF); 48 const MCPhysReg *getCalleeSavedRegs(const MachineFunction *MF) const override; 49 const MCPhysReg *getDarwinCalleeSavedRegs(const MachineFunction *MF) const; 51 getCalleeSavedRegsViaCopy(const MachineFunction *MF) const; 52 const uint32_t *getCallPreservedMask(const MachineFunction &MF, [all …]
|
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Target/AArch64/ |
D | AArch64RegisterInfo.cpp | 44 AArch64RegisterInfo::getCalleeSavedRegs(const MachineFunction *MF) const { in getCalleeSavedRegs() 45 assert(MF && "Invalid MachineFunction pointer."); in getCalleeSavedRegs() 46 if (MF->getFunction().getCallingConv() == CallingConv::CFGuard_Check) in getCalleeSavedRegs() 48 if (MF->getSubtarget<AArch64Subtarget>().isTargetWindows()) in getCalleeSavedRegs() 50 if (MF->getFunction().getCallingConv() == CallingConv::GHC) in getCalleeSavedRegs() 54 if (MF->getFunction().getCallingConv() == CallingConv::AnyReg) in getCalleeSavedRegs() 56 if (MF->getFunction().getCallingConv() == CallingConv::AArch64_VectorCall) in getCalleeSavedRegs() 58 if (MF->getFunction().getCallingConv() == CallingConv::AArch64_SVE_VectorCall) in getCalleeSavedRegs() 60 if (MF->getFunction().getCallingConv() == CallingConv::CXX_FAST_TLS) in getCalleeSavedRegs() 61 return MF->getInfo<AArch64FunctionInfo>()->isSplitCSR() ? in getCalleeSavedRegs() [all …]
|
/external/llvm-project/llvm/lib/CodeGen/ |
D | TargetFrameLoweringImpl.cpp | 33 bool TargetFrameLowering::enableCalleeSaveSkip(const MachineFunction &MF) const { in enableCalleeSaveSkip() 34 assert(MF.getFunction().hasFnAttribute(Attribute::NoReturn) && in enableCalleeSaveSkip() 35 MF.getFunction().hasFnAttribute(Attribute::NoUnwind) && in enableCalleeSaveSkip() 36 !MF.getFunction().hasFnAttribute(Attribute::UWTable)); in enableCalleeSaveSkip() 45 TargetFrameLowering::getFrameIndexReference(const MachineFunction &MF, int FI, in getFrameIndexReference() argument 47 const MachineFrameInfo &MFI = MF.getFrameInfo(); in getFrameIndexReference() 48 const TargetRegisterInfo *RI = MF.getSubtarget().getRegisterInfo(); in getFrameIndexReference() 53 FrameReg = RI->getFrameRegister(MF); in getFrameIndexReference() 61 const MachineFunction &MF) const { in needsFrameIndexResolution() 62 return MF.getFrameInfo().hasStackObjects(); in needsFrameIndexResolution() [all …]
|
/external/swiftshader/third_party/llvm-10.0/llvm/lib/CodeGen/ |
D | TargetFrameLoweringImpl.cpp | 33 bool TargetFrameLowering::enableCalleeSaveSkip(const MachineFunction &MF) const { in enableCalleeSaveSkip() 34 assert(MF.getFunction().hasFnAttribute(Attribute::NoReturn) && in enableCalleeSaveSkip() 35 MF.getFunction().hasFnAttribute(Attribute::NoUnwind) && in enableCalleeSaveSkip() 36 !MF.getFunction().hasFnAttribute(Attribute::UWTable)); in enableCalleeSaveSkip() 44 int TargetFrameLowering::getFrameIndexReference(const MachineFunction &MF, in getFrameIndexReference() argument 46 const MachineFrameInfo &MFI = MF.getFrameInfo(); in getFrameIndexReference() 47 const TargetRegisterInfo *RI = MF.getSubtarget().getRegisterInfo(); in getFrameIndexReference() 52 FrameReg = RI->getFrameRegister(MF); in getFrameIndexReference() 59 const MachineFunction &MF) const { in needsFrameIndexResolution() 60 return MF.getFrameInfo().hasStackObjects(); in needsFrameIndexResolution() [all …]
|
/external/llvm/lib/Target/AArch64/ |
D | AArch64RegisterInfo.cpp | 41 AArch64RegisterInfo::getCalleeSavedRegs(const MachineFunction *MF) const { in getCalleeSavedRegs() 42 assert(MF && "Invalid MachineFunction pointer."); in getCalleeSavedRegs() 43 if (MF->getFunction()->getCallingConv() == CallingConv::GHC) in getCalleeSavedRegs() 47 if (MF->getFunction()->getCallingConv() == CallingConv::AnyReg) in getCalleeSavedRegs() 49 if (MF->getFunction()->getCallingConv() == CallingConv::CXX_FAST_TLS) in getCalleeSavedRegs() 50 return MF->getInfo<AArch64FunctionInfo>()->isSplitCSR() ? in getCalleeSavedRegs() 53 if (MF->getSubtarget<AArch64Subtarget>().getTargetLowering() in getCalleeSavedRegs() 55 MF->getFunction()->getAttributes().hasAttrSomewhere( in getCalleeSavedRegs() 58 if (MF->getFunction()->getCallingConv() == CallingConv::PreserveMost) in getCalleeSavedRegs() 65 const MachineFunction *MF) const { in getCalleeSavedRegsViaCopy() [all …]
|
D | AArch64FrameLowering.cpp | 119 bool AArch64FrameLowering::canUseRedZone(const MachineFunction &MF) const { in canUseRedZone() 124 if (MF.getFunction()->hasFnAttribute(Attribute::NoRedZone)) in canUseRedZone() 127 const MachineFrameInfo *MFI = MF.getFrameInfo(); in canUseRedZone() 128 const AArch64FunctionInfo *AFI = MF.getInfo<AArch64FunctionInfo>(); in canUseRedZone() 131 return !(MFI->hasCalls() || hasFP(MF) || NumBytes > 128); in canUseRedZone() 136 bool AArch64FrameLowering::hasFP(const MachineFunction &MF) const { in hasFP() 137 const MachineFrameInfo *MFI = MF.getFrameInfo(); in hasFP() 138 const TargetRegisterInfo *RegInfo = MF.getSubtarget().getRegisterInfo(); in hasFP() 141 MF.getTarget().Options.DisableFramePointerElim(MF)) || in hasFP() 144 RegInfo->needsStackRealignment(MF); in hasFP() [all …]
|
/external/llvm/lib/Target/WebAssembly/ |
D | WebAssemblyFrameLowering.cpp | 42 bool WebAssemblyFrameLowering::hasFP(const MachineFunction &MF) const { in hasFP() 43 const MachineFrameInfo *MFI = MF.getFrameInfo(); in hasFP() 45 MF.getSubtarget<WebAssemblySubtarget>().getRegisterInfo(); in hasFP() 48 RegInfo->needsStackRealignment(MF); in hasFP() 57 const MachineFunction &MF) const { in hasReservedCallFrame() 58 return !MF.getFrameInfo()->hasVarSizedObjects(); in hasReservedCallFrame() 65 bool WebAssemblyFrameLowering::needsSP(const MachineFunction &MF, in needsSP() argument 67 return MFI.getStackSize() || MFI.adjustsStack() || hasFP(MF); in needsSP() 74 const MachineFunction &MF, const MachineFrameInfo &MFI) const { in needsSPWriteback() argument 75 assert(needsSP(MF, MFI)); in needsSPWriteback() [all …]
|
/external/llvm-project/llvm/lib/Target/RISCV/ |
D | RISCVFrameLowering.cpp | 28 static void emitSCSPrologue(MachineFunction &MF, MachineBasicBlock &MBB, in emitSCSPrologue() argument 31 if (!MF.getFunction().hasFnAttribute(Attribute::ShadowCallStack)) in emitSCSPrologue() 34 const auto &STI = MF.getSubtarget<RISCVSubtarget>(); in emitSCSPrologue() 39 std::vector<CalleeSavedInfo> &CSI = MF.getFrameInfo().getCalleeSavedInfo(); in emitSCSPrologue() 46 auto &Ctx = MF.getFunction().getContext(); in emitSCSPrologue() 49 MF.getFunction(), "x18 not reserved by user for Shadow Call Stack."}); in emitSCSPrologue() 53 const auto *RVFI = MF.getInfo<RISCVMachineFunctionInfo>(); in emitSCSPrologue() 54 if (RVFI->useSaveRestoreLibCalls(MF)) { in emitSCSPrologue() 56 MF.getFunction(), in emitSCSPrologue() 77 static void emitSCSEpilogue(MachineFunction &MF, MachineBasicBlock &MBB, in emitSCSEpilogue() argument [all …]
|
/external/llvm-project/llvm/lib/Target/VE/ |
D | VEFrameLowering.cpp | 135 void VEFrameLowering::emitPrologueInsns(MachineFunction &MF, in emitPrologueInsns() argument 140 const VEMachineFunctionInfo *FuncInfo = MF.getInfo<VEMachineFunctionInfo>(); in emitPrologueInsns() 163 if (hasGOT(MF)) { in emitPrologueInsns() 175 if (hasBP(MF)) in emitPrologueInsns() 183 void VEFrameLowering::emitEpilogueInsns(MachineFunction &MF, in emitEpilogueInsns() argument 188 const VEMachineFunctionInfo *FuncInfo = MF.getInfo<VEMachineFunctionInfo>(); in emitEpilogueInsns() 199 if (hasBP(MF)) in emitEpilogueInsns() 204 if (hasGOT(MF)) { in emitEpilogueInsns() 226 void VEFrameLowering::emitSPAdjustment(MachineFunction &MF, in emitSPAdjustment() argument 274 void VEFrameLowering::emitSPExtend(MachineFunction &MF, MachineBasicBlock &MBB, in emitSPExtend() argument [all …]
|
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Target/RISCV/ |
D | RISCVFrameLowering.cpp | 26 bool RISCVFrameLowering::hasFP(const MachineFunction &MF) const { in hasFP() 27 const TargetRegisterInfo *RegInfo = MF.getSubtarget().getRegisterInfo(); in hasFP() 29 const MachineFrameInfo &MFI = MF.getFrameInfo(); in hasFP() 30 return MF.getTarget().Options.DisableFramePointerElim(MF) || in hasFP() 31 RegInfo->needsStackRealignment(MF) || MFI.hasVarSizedObjects() || in hasFP() 35 bool RISCVFrameLowering::hasBP(const MachineFunction &MF) const { in hasBP() 36 const MachineFrameInfo &MFI = MF.getFrameInfo(); in hasBP() 39 return MFI.hasVarSizedObjects() && TRI->needsStackRealignment(MF); in hasBP() 43 void RISCVFrameLowering::determineFrameLayout(MachineFunction &MF) const { in determineFrameLayout() 44 MachineFrameInfo &MFI = MF.getFrameInfo(); in determineFrameLayout() [all …]
|
/external/llvm-project/llvm/unittests/CodeGen/ |
D | MachineInstrTest.cpp | 45 auto MF = createMachineFunction(Ctx, Mod); in TEST() local 61 auto MI1 = MF->CreateMachineInstr(MCID, DebugLoc()); in TEST() 62 MI1->addOperand(*MF, MachineOperand::CreateReg(VirtualDef1, /*isDef*/ true)); in TEST() 63 MI1->addOperand(*MF, MachineOperand::CreateReg(VirtualUse, /*isDef*/ false)); in TEST() 65 auto MI2 = MF->CreateMachineInstr(MCID, DebugLoc()); in TEST() 66 MI2->addOperand(*MF, MachineOperand::CreateReg(VirtualDef2, /*isDef*/ true)); in TEST() 67 MI2->addOperand(*MF, MachineOperand::CreateReg(VirtualUse, /*isDef*/ false)); in TEST() 81 auto MI3 = MF->CreateMachineInstr(MCID, DebugLoc()); in TEST() 82 MI3->addOperand(*MF, MachineOperand::CreateReg(VirtualDef1, /*isDef*/ true)); in TEST() 83 MI3->addOperand(*MF, MachineOperand::CreateReg(SentinelReg, /*isDef*/ true)); in TEST() [all …]
|
/external/llvm/lib/Target/Sparc/ |
D | SparcFrameLowering.cpp | 40 void SparcFrameLowering::emitSPAdjustment(MachineFunction &MF, in emitSPAdjustment() argument 49 *static_cast<const SparcInstrInfo *>(MF.getSubtarget().getInstrInfo()); in emitSPAdjustment() 85 void SparcFrameLowering::emitPrologue(MachineFunction &MF, in emitPrologue() argument 87 SparcMachineFunctionInfo *FuncInfo = MF.getInfo<SparcMachineFunctionInfo>(); in emitPrologue() 89 assert(&MF.front() == &MBB && "Shrink-wrapping not yet supported"); in emitPrologue() 90 MachineFrameInfo *MFI = MF.getFrameInfo(); in emitPrologue() 92 *static_cast<const SparcInstrInfo *>(MF.getSubtarget().getInstrInfo()); in emitPrologue() 94 *static_cast<const SparcRegisterInfo *>(MF.getSubtarget().getRegisterInfo()); in emitPrologue() 99 bool NeedsStackRealignment = RegInfo.needsStackRealignment(MF); in emitPrologue() 107 report_fatal_error("Function \"" + Twine(MF.getName()) + "\" required " in emitPrologue() [all …]
|
/external/llvm-project/llvm/include/llvm/CodeGen/ |
D | TargetFrameLowering.h | 136 virtual unsigned getStackAlignmentSkew(const MachineFunction &MF) const; 161 assignCalleeSavedSpillSlots(MachineFunction &MF, in assignCalleeSavedSpillSlots() argument 190 virtual bool enableShrinkWrapping(const MachineFunction &MF) const { in enableShrinkWrapping() argument 197 virtual bool enableStackSlotScavenging(const MachineFunction &MF) const { in enableStackSlotScavenging() argument 203 virtual bool enableCalleeSaveSkip(const MachineFunction &MF) const; 207 virtual void emitPrologue(MachineFunction &MF, 209 virtual void emitEpilogue(MachineFunction &MF, 224 virtual void inlineStackProbe(MachineFunction &MF, in inlineStackProbe() argument 229 virtual void adjustForSegmentedStacks(MachineFunction &MF, in adjustForSegmentedStacks() argument 234 virtual void adjustForHiPEPrologue(MachineFunction &MF, in adjustForHiPEPrologue() argument [all …]
|
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Target/VE/ |
D | VEFrameLowering.cpp | 34 void VEFrameLowering::emitPrologueInsns(MachineFunction &MF, in emitPrologueInsns() argument 42 *static_cast<const VEInstrInfo *>(MF.getSubtarget().getInstrInfo()); in emitPrologueInsns() 72 void VEFrameLowering::emitEpilogueInsns(MachineFunction &MF, in emitEpilogueInsns() argument 80 *static_cast<const VEInstrInfo *>(MF.getSubtarget().getInstrInfo()); in emitEpilogueInsns() 106 void VEFrameLowering::emitSPAdjustment(MachineFunction &MF, in emitSPAdjustment() argument 112 *static_cast<const VEInstrInfo *>(MF.getSubtarget().getInstrInfo()); in emitSPAdjustment() 137 void VEFrameLowering::emitSPExtend(MachineFunction &MF, MachineBasicBlock &MBB, in emitSPExtend() argument 142 *static_cast<const VEInstrInfo *>(MF.getSubtarget().getInstrInfo()); in emitSPExtend() 174 void VEFrameLowering::emitPrologue(MachineFunction &MF, in emitPrologue() argument 176 assert(&MF.front() == &MBB && "Shrink-wrapping not yet supported"); in emitPrologue() [all …]
|
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Target/ARM/ |
D | ARMBaseRegisterInfo.cpp | 65 ARMBaseRegisterInfo::getCalleeSavedRegs(const MachineFunction *MF) const { in getCalleeSavedRegs() 66 const ARMSubtarget &STI = MF->getSubtarget<ARMSubtarget>(); in getCalleeSavedRegs() 67 bool UseSplitPush = STI.splitFramePushPop(*MF); in getCalleeSavedRegs() 73 const Function &F = MF->getFunction(); in getCalleeSavedRegs() 106 return MF->getInfo<ARMFunctionInfo>()->isSplitCSR() in getCalleeSavedRegs() 113 const MachineFunction *MF) const { in getCalleeSavedRegsViaCopy() 114 assert(MF && "Invalid MachineFunction pointer."); in getCalleeSavedRegsViaCopy() 115 if (MF->getFunction().getCallingConv() == CallingConv::CXX_FAST_TLS && in getCalleeSavedRegsViaCopy() 116 MF->getInfo<ARMFunctionInfo>()->isSplitCSR()) in getCalleeSavedRegsViaCopy() 122 ARMBaseRegisterInfo::getCallPreservedMask(const MachineFunction &MF, in getCallPreservedMask() argument [all …]
|
/external/swiftshader/third_party/llvm-10.0/llvm/include/llvm/CodeGen/ |
D | TargetFrameLowering.h | 111 virtual unsigned getStackAlignmentSkew(const MachineFunction &MF) const; 130 assignCalleeSavedSpillSlots(MachineFunction &MF, in assignCalleeSavedSpillSlots() argument 159 virtual bool enableShrinkWrapping(const MachineFunction &MF) const { in enableShrinkWrapping() argument 166 virtual bool enableStackSlotScavenging(const MachineFunction &MF) const { in enableStackSlotScavenging() argument 172 virtual bool enableCalleeSaveSkip(const MachineFunction &MF) const; 176 virtual void emitPrologue(MachineFunction &MF, 178 virtual void emitEpilogue(MachineFunction &MF, 182 virtual void inlineStackProbe(MachineFunction &MF, in inlineStackProbe() argument 187 virtual void adjustForSegmentedStacks(MachineFunction &MF, in adjustForSegmentedStacks() argument 192 virtual void adjustForHiPEPrologue(MachineFunction &MF, in adjustForHiPEPrologue() argument [all …]
|
/external/llvm-project/llvm/lib/Target/X86/ |
D | X86FrameLowering.h | 54 void emitStackProbe(MachineFunction &MF, MachineBasicBlock &MBB, 59 void inlineStackProbe(MachineFunction &MF, 73 void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const override; 74 void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const override; 76 void adjustForSegmentedStacks(MachineFunction &MF, 79 void adjustForHiPEPrologue(MachineFunction &MF, 82 void determineCalleeSaves(MachineFunction &MF, BitVector &SavedRegs, 86 assignCalleeSavedSpillSlots(MachineFunction &MF, 101 bool hasFP(const MachineFunction &MF) const override; 102 bool hasReservedCallFrame(const MachineFunction &MF) const override; [all …]
|
/external/llvm-project/llvm/lib/Target/ARM/ |
D | ARMBaseRegisterInfo.cpp | 67 ARMBaseRegisterInfo::getCalleeSavedRegs(const MachineFunction *MF) const { in getCalleeSavedRegs() 68 const ARMSubtarget &STI = MF->getSubtarget<ARMSubtarget>(); in getCalleeSavedRegs() 69 bool UseSplitPush = STI.splitFramePushPop(*MF); in getCalleeSavedRegs() 75 const Function &F = MF->getFunction(); in getCalleeSavedRegs() 108 return MF->getInfo<ARMFunctionInfo>()->isSplitCSR() in getCalleeSavedRegs() 115 const MachineFunction *MF) const { in getCalleeSavedRegsViaCopy() 116 assert(MF && "Invalid MachineFunction pointer."); in getCalleeSavedRegsViaCopy() 117 if (MF->getFunction().getCallingConv() == CallingConv::CXX_FAST_TLS && in getCalleeSavedRegsViaCopy() 118 MF->getInfo<ARMFunctionInfo>()->isSplitCSR()) in getCalleeSavedRegsViaCopy() 124 ARMBaseRegisterInfo::getCallPreservedMask(const MachineFunction &MF, in getCallPreservedMask() argument [all …]
|
/external/llvm/lib/CodeGen/ |
D | TargetFrameLoweringImpl.cpp | 32 bool TargetFrameLowering::noFramePointerElim(const MachineFunction &MF) const { in noFramePointerElim() 33 auto Attr = MF.getFunction()->getFnAttribute("no-frame-pointer-elim"); in noFramePointerElim() 41 int TargetFrameLowering::getFrameIndexReference(const MachineFunction &MF, in getFrameIndexReference() argument 43 const MachineFrameInfo *MFI = MF.getFrameInfo(); in getFrameIndexReference() 44 const TargetRegisterInfo *RI = MF.getSubtarget().getRegisterInfo(); in getFrameIndexReference() 49 FrameReg = RI->getFrameRegister(MF); in getFrameIndexReference() 56 const MachineFunction &MF) const { in needsFrameIndexResolution() 57 return MF.getFrameInfo()->hasStackObjects(); in needsFrameIndexResolution() 60 void TargetFrameLowering::determineCalleeSaves(MachineFunction &MF, in determineCalleeSaves() argument 63 const TargetRegisterInfo &TRI = *MF.getSubtarget().getRegisterInfo(); in determineCalleeSaves() [all …]
|