| /llvm-project-15.0.7/llvm/lib/Target/WebAssembly/ |
| H A D | WebAssemblyFrameLowering.cpp | 151 return needsSPForLocalFrame(MF) || needsPrologForEH(MF); in needsSP() 242 assert(!I->getOperand(0).getImm() && (hasFP(MF) || hasBP(MF)) && in eliminateCallFramePseudoInstr() 249 writeSPToGlobal(getSPReg(MF), MF, MBB, I, DL); in eliminateCallFramePseudoInstr() 261 if (!needsSP(MF)) in emitPrologue() 299 BuildMI(MBB, InsertPt, DL, TII->get(getOpcSub(MF)), getSPReg(MF)) in emitPrologue() 308 BuildMI(MBB, InsertPt, DL, TII->get(getOpcAnd(MF)), getSPReg(MF)) in emitPrologue() 312 if (hasFP(MF)) { in emitPrologue() 320 writeSPToGlobal(getSPReg(MF), MF, MBB, InsertPt, DL); in emitPrologue() 327 if (!needsSP(MF) || !needsSPWriteback(MF)) in emitEpilogue() 341 unsigned SPFPReg = hasFP(MF) ? getFPReg(MF) : getSPReg(MF); in emitEpilogue() [all …]
|
| H A D | WebAssemblyFrameLowering.h | 44 bool hasFP(const MachineFunction &MF) const override; 49 bool needsPrologForEH(const MachineFunction &MF) const; 62 static unsigned getSPReg(const MachineFunction &MF); 63 static unsigned getFPReg(const MachineFunction &MF); 64 static unsigned getOpcConst(const MachineFunction &MF); 65 static unsigned getOpcAdd(const MachineFunction &MF); 66 static unsigned getOpcSub(const MachineFunction &MF); 67 static unsigned getOpcAnd(const MachineFunction &MF); 72 bool hasBP(const MachineFunction &MF) const; 74 bool needsSP(const MachineFunction &MF) const; [all …]
|
| H A D | WebAssemblyLateEHPrepare.cpp | 84 if (MBB == &MF->front()) in getMatchingEHPad() 126 recordCatchRetBBs(MF); in runOnMachineFunction() 141 for (auto &MBB : MF) in removeUnreachableEHPads() 153 for (auto &MBB : MF) { in recordCatchRetBBs() 178 for (auto &MBB : MF) in hoistCatches() 205 for (auto &MBB : MF) { in addCatchAlls() 231 for (auto &MBB : MF) { in replaceFuncletReturns() 264 MachineFunction &MF) { in removeUnnecessaryUnreachables() argument 266 for (auto &MBB : MF) { in removeUnnecessaryUnreachables() 299 for (auto &MBB : MF) { in restoreStackPointer() [all …]
|
| /llvm-project-15.0.7/llvm/unittests/MI/ |
| H A D | LiveIntervalTest.cpp | 89 T(MF, LIS); in runOnMachineFunction() 90 EXPECT_TRUE(MF.verify(this)); in runOnMachineFunction() 207 testHandleMove(MF, LIS, 2, 1); in TEST() 218 testHandleMove(MF, LIS, 2, 1); in TEST() 229 testHandleMove(MF, LIS, 2, 1); in TEST() 240 testHandleMove(MF, LIS, 2, 1); in TEST() 250 testHandleMove(MF, LIS, 2, 1); in TEST() 261 testHandleMove(MF, LIS, 2, 1); in TEST() 276 testHandleMove(MF, LIS, 1, 2); in TEST() 645 testSplitAt(MF, LIS, 1, 0); in TEST() [all …]
|
| /llvm-project-15.0.7/llvm/lib/CodeGen/ |
| H A D | TargetFrameLoweringImpl.cpp | 41 return MF.needsFrameMoves() && in enableCFIFixup() 58 FrameReg = RI->getFrameRegister(MF); in getFrameIndexReference() 66 const MachineFunction &MF) const { in needsFrameIndexResolution() 67 return MF.getFrameInfo().hasStackObjects(); in needsFrameIndexResolution() 95 if (MF.getTarget().Options.EnableIPRA && in determineCalleeSaves() 96 isSafeForNoCSROpt(MF.getFunction()) && in determineCalleeSaves() 121 enableCalleeSaveSkip(MF)) in determineCalleeSaves() 135 const MachineFunction &MF) const { in getStackAlignmentSkew() 145 const MachineFunction &MF) const { in allocateScavengingFrameIndexesNearIncomingSP() 146 if (!hasFP(MF)) in allocateScavengingFrameIndexesNearIncomingSP() [all …]
|
| H A D | BasicBlockSections.cpp | 134 MachineFunction &MF, in updateBranches() argument 138 for (auto &MBB : MF) { in updateBranches() 168 const MachineFunction &MF, in getBBClusterInfoForFunction() argument 213 for (auto &MBB : MF) { in assignSections() 245 for (auto &MBB : MF) in assignSections() 253 MF.getNumBlockIDs()); in sortBasicBlocksAndUpdateBranches() 254 for (auto &MBB : MF) in sortBasicBlocksAndUpdateBranches() 257 MF.sort(MBBCmp); in sortBasicBlocksAndUpdateBranches() 260 MF.assignBeginEndSections(); in sortBasicBlocksAndUpdateBranches() 273 for (auto &MBB : MF) { in avoidZeroOffsetLandingPad() [all …]
|
| /llvm-project-15.0.7/llvm/unittests/CodeGen/ |
| H A D | RegAllocScoreTest.cpp | 114 auto MF = createMachineFunction(Ctx, Mod); in TEST() local 116 auto *MBB = MF->CreateMachineBasicBlock(); in TEST() 117 MF->insert(MF->end(), MBB); in TEST() 128 ASSERT_EQ(MF->size(), 1U); in TEST() 135 auto MF = createMachineFunction(Ctx, Mod); in TEST() local 137 auto *MBB1 = MF->CreateMachineBasicBlock(); in TEST() 138 auto *MBB2 = MF->CreateMachineBasicBlock(); in TEST() 139 MF->insert(MF->end(), MBB1); in TEST() 140 MF->insert(MF->end(), MBB2); in TEST() 155 auto *CheapRemat = createMockCheapRemat(*MF); in TEST() [all …]
|
| H A D | MachineInstrTest.cpp | 140 VD1VU->addOperand(*MF, in TEST() 142 VD1VU->addOperand(*MF, in TEST() 146 VD2VU->addOperand(*MF, in TEST() 148 VD2VU->addOperand(*MF, in TEST() 152 VD1SU->addOperand(*MF, in TEST() 154 VD1SU->addOperand(*MF, in TEST() 158 VD1SD->addOperand(*MF, in TEST() 160 VD1SD->addOperand(*MF, in TEST() 164 VD2PU->addOperand(*MF, in TEST() 166 VD2PU->addOperand(*MF, in TEST() [all …]
|
| /llvm-project-15.0.7/llvm/lib/Target/AArch64/ |
| H A D | AArch64RegisterInfo.cpp | 142 const MachineFunction *MF) const { in getCalleeSavedRegsViaCopy() 151 MachineFunction &MF) const { in UpdateCustomCalleeSavedRegs() 326 if (hasBasePointer(MF)) in getReservedRegs() 346 return getReservedRegs(MF)[Reg]; in isReservedReg() 351 return isReservedReg(MF, r); in isAnyArgRegReserved() 364 return !isReservedReg(MF, PhysReg); in isAsmClobberable() 398 if (hasStackRealignment(MF)) in hasBasePointer() 515 return TFI.hasFP(MF) && !hasStackRealignment(MF) && !AFI->getStackSizeSVE(); in useFPForScavengingIndex() 526 if (MF.getTarget().Options.DisableFramePointerElim(MF) && MFI.adjustsStack()) in cannotEliminateFrame() 850 else if (hasStackRealignment(MF)) in getLocalAddressRegister() [all …]
|
| H A D | AArch64RegisterInfo.h | 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, 49 getCalleeSavedRegsViaCopy(const MachineFunction *MF) const; 50 const uint32_t *getCallPreservedMask(const MachineFunction &MF, 92 bool isAsmClobberable(const MachineFunction &MF, 96 getPointerRegClass(const MachineFunction &MF, 115 bool cannotEliminateFrame(const MachineFunction &MF) const; 118 bool hasBasePointer(const MachineFunction &MF) const; [all …]
|
| H A D | AArch64FrameLowering.h | 50 StackOffset resolveFrameOffsetReference(const MachineFunction &MF, 66 bool canUseRedZone(const MachineFunction &MF) const; 68 bool hasFP(const MachineFunction &MF) const override; 71 bool assignCalleeSavedSpillSlots(MachineFunction &MF, 88 void processFunctionBeforeFrameFinalized(MachineFunction &MF, 92 processFunctionBeforeFrameIndicesReplaced(MachineFunction &MF, 125 orderFrameObjects(const MachineFunction &MF, 133 bool homogeneousPrologEpilog(MachineFunction &MF, 137 bool producePairRegisters(MachineFunction &MF) const; 139 bool shouldCombineCSRLocalStackBump(MachineFunction &MF, [all …]
|
| /llvm-project-15.0.7/llvm/lib/Target/RISCV/ |
| H A D | RISCVFrameLowering.cpp | 58 MF.getFunction(), in emitSCSPrologue() 108 MF.getFunction(), in emitSCSEpilogue() 233 return MF.getTarget().Options.DisableFramePointerElim(MF) || in hasFP() 513 if (hasFP(MF)) { in emitPrologue() 541 if (!hasFP(MF)) { in emitPrologue() 555 if (hasFP(MF)) { in emitPrologue() 583 if (hasBP(MF)) { in emitPrologue() 758 if (hasBP(MF)) { in getFrameIndexReference() 862 if (hasFP(MF)) { in determineCalleeSaves() 867 if (hasBP(MF)) in determineCalleeSaves() [all …]
|
| /llvm-project-15.0.7/llvm/lib/Target/X86/ |
| H A D | X86FrameLowering.h | 58 MachineFunction &MF, MachineBasicBlock &MBB, 65 void inlineStackProbe(MachineFunction &MF, 80 void adjustForSegmentedStacks(MachineFunction &MF, 83 void adjustForHiPEPrologue(MachineFunction &MF, 90 assignCalleeSavedSpillSlots(MachineFunction &MF, 105 bool hasFP(const MachineFunction &MF) const override; 174 void orderFrameObjects(const MachineFunction &MF, 197 bool has128ByteRedZone(const MachineFunction& MF) const; 200 bool isWin64Prologue(const MachineFunction &MF) const; 202 bool needsDwarfCFI(const MachineFunction &MF) const; [all …]
|
| H A D | X86IndirectThunks.cpp | 71 void populateThunk(MachineFunction &MF); 82 void populateThunk(MachineFunction &MF) { in populateThunk() 83 assert (MF.size() == 1); in populateThunk() 84 MachineBasicBlock *Entry = &MF.front(); in populateThunk() 98 MF.front().addLiveIn(X86::R11); in populateThunk() 190 if (MF.getName() == EAXRetpolineName) in populateThunk() 203 assert (MF.size() == 1); in populateThunk() 204 MachineBasicBlock *Entry = &MF.front(); in populateThunk() 212 MF.push_back(CaptureSpec); in populateThunk() 213 MF.push_back(CallTarget); in populateThunk() [all …]
|
| /llvm-project-15.0.7/llvm/include/llvm/CodeGen/ |
| H A D | TargetFrameLowering.h | 148 const MachineFunction &MF) const; 161 return assignCalleeSavedSpillSlots(MF, TRI, CSI); in assignCalleeSavedSpillSlots() 165 assignCalleeSavedSpillSlots(MachineFunction &MF, in assignCalleeSavedSpillSlots() argument 211 virtual void emitPrologue(MachineFunction &MF, 213 virtual void emitEpilogue(MachineFunction &MF, 235 virtual void inlineStackProbe(MachineFunction &MF, in inlineStackProbe() argument 293 return !hasFP(MF); in hasReservedCallFrame() 304 return hasReservedCallFrame(MF) || hasFP(MF); in canSimplifyCallFramePseudos() 329 return getFrameIndexReference(MF, FI, FrameReg); in getFrameIndexReferencePreferSP() 340 return getFrameIndexReference(MF, FI, FrameReg); in getNonLocalFrameIndexReference() [all …]
|
| /llvm-project-15.0.7/llvm/lib/Target/VE/ |
| H A D | VEFrameLowering.cpp | 163 if (hasGOT(MF)) { in emitPrologueInsns() 175 if (hasBP(MF)) in emitPrologueInsns() 199 if (hasBP(MF)) in emitEpilogueInsns() 204 if (hasGOT(MF)) { in emitEpilogueInsns() 365 if (hasBP(MF)) { in emitPrologue() 374 emitSPExtend(MF, MBB, MBBI); in emitPrologue() 380 if (!hasReservedCallFrame(MF)) { in eliminateCallFramePseudoInstr() 425 return MF.getTarget().Options.DisableFramePointerElim(MF) || in hasFP() 453 if (!hasFP(MF)) { in getFrameIndexReference() 462 if (hasBP(MF)) in getFrameIndexReference() [all …]
|
| /llvm-project-15.0.7/llvm/lib/Target/ARM/ |
| H A D | ARMBaseRegisterInfo.cpp | 210 if (TFI->hasFP(MF)) in getReservedRegs() 212 if (hasBasePointer(MF)) in getReservedRegs() 247 if (TFI->isFPReserved(MF)) in isInlineAsmReadOnlyReg() 249 if (hasBasePointer(MF)) in isInlineAsmReadOnlyReg() 424 if (hasStackRealignment(MF) && !TFI->hasReservedCallFrame(MF)) in hasBasePointer() 478 if (MF.getTarget().Options.DisableFramePointerElim(MF) && MFI.adjustsStack()) in cannotEliminateFrame() 481 hasStackRealignment(MF); in cannotEliminateFrame() 489 if (TFI->hasFP(MF)) in getFrameRegister() 644 if (TFI->hasFP(MF) && in needsFrameBaseReg() 646 canRealignStack(MF))) { in needsFrameBaseReg() [all …]
|
| /llvm-project-15.0.7/llvm/lib/Target/SystemZ/ |
| H A D | SystemZFrameLowering.h | 32 const MachineFunction &MF) const override { in allocateScavengingFrameIndexesNearIncomingSP() argument 57 assignCalleeSavedSpillSlots(MachineFunction &MF, 75 void inlineStackProbe(MachineFunction &MF, 77 bool hasFP(const MachineFunction &MF) const override; 81 orderFrameObjects(const MachineFunction &MF, 89 bool usePackedStack(MachineFunction &MF) const; 92 unsigned getBackchainOffset(MachineFunction &MF) const { in getBackchainOffset() argument 108 assignCalleeSavedSpillSlots(MachineFunction &MF, 130 void inlineStackProbe(MachineFunction &MF, 133 bool hasFP(const MachineFunction &MF) const override; [all …]
|
| /llvm-project-15.0.7/llvm/lib/Target/Mips/ |
| H A D | MipsMachineFunction.cpp | 39 auto &STI = MF.getSubtarget<MipsSubtarget>(); in getGlobalBaseRegClass() 57 MF.getRegInfo().createVirtualRegister(&getGlobalBaseRegClass(MF)); in getGlobalBaseReg() 63 getGlobalBaseReg(MF); in getGlobalBaseRegForGlobalISel() 64 initGlobalBaseReg(MF); in getGlobalBaseRegForGlobalISel() 73 MachineBasicBlock &MBB = MF.front(); in initGlobalBaseReg() 75 MachineRegisterInfo &RegInfo = MF.getRegInfo(); in initGlobalBaseReg() 87 MF.getRegInfo().addLiveIn(Mips::T9_64); in initGlobalBaseReg() 93 const GlobalValue *FName = &MF.getFunction(); in initGlobalBaseReg() 103 if (!MF.getTarget().isPositionIndependent()) { in initGlobalBaseReg() 115 MF.getRegInfo().addLiveIn(Mips::T9); in initGlobalBaseReg() [all …]
|
| /llvm-project-15.0.7/llvm/lib/Target/AMDGPU/ |
| H A D | SILowerSGPRSpills.cpp | 176 SaveBlocks.push_back(&MF.front()); in calculateSaveRestoreBlocks() 177 for (MachineBasicBlock &MBB : MF) { in calculateSaveRestoreBlocks() 188 MachineBasicBlock &EntryBB = MF.front(); in updateLiveness() 197 const Function &F = MF.getFunction(); in spillCalleeSavedRegs() 200 MachineFrameInfo &MFI = MF.getFrameInfo(); in spillCalleeSavedRegs() 235 updateLiveness(MF, CSI); in spillCalleeSavedRegs() 257 calculateSaveRestoreBlocks(MF); in runOnMachineFunction() 258 bool HasCSRs = spillCalleeSavedRegs(MF); in runOnMachineFunction() 287 for (MachineBasicBlock &MBB : MF) { in runOnMachineFunction() 306 for (MachineBasicBlock &MBB : MF) { in runOnMachineFunction() [all …]
|
| H A D | SIFrameLowering.cpp | 348 MachineFunction &MF) const { in getEntryFunctionReservedScratchRsrcReg() 503 if (hasFP(MF)) { in emitEntryFunctionPrologue() 1106 MachineFunction &MF, in processFunctionBeforeFrameFinalized() argument 1236 MRI.freezeReservedRegs(MF); in processFunctionBeforeFrameIndicesReplaced() 1283 if (WillHaveFP || hasFP(MF)) { in determineCalleeSaves() 1290 if (TRI->hasBasePointer(MF)) { in determineCalleeSaves() 1328 if (WillHaveFP || hasFP(MF)) in determineCalleeSavesSGPR() 1413 MachineFunction &MF, in eliminateCallFramePseudoInstr() argument 1427 if (!hasReservedCallFrame(MF)) { in eliminateCallFramePseudoInstr() 1478 MF) || in hasFP() [all …]
|
| /llvm-project-15.0.7/llvm/lib/Target/Sparc/ |
| H A D | SparcFrameLowering.cpp | 90 MachineFrameInfo &MFI = MF.getFrameInfo(); in emitPrologue() 167 CFIIndex = MF.addFrameInst( in emitPrologue() 201 if (!hasReservedCallFrame(MF)) { in eliminateCallFramePseudoInstr() 229 MachineFrameInfo &MFI = MF.getFrameInfo(); in emitEpilogue() 259 return MF.getTarget().Options.DisableFramePointerElim(MF) || in hasFP() 301 FrameReg = RegInfo->getFrameRegister(MF); in getFrameIndexReference() 326 MachineRegisterInfo &MRI = MF.getRegInfo(); in isLeafProc() 357 for (MachineBasicBlock &MBB : MF) { in remapRegsForLeafProc() 374 MF.verify(0, "After LeafProc Remapping"); in remapRegsForLeafProc() 382 if (!DisableLeafProc && isLeafProc(MF)) { in determineCalleeSaves() [all …]
|
| /llvm-project-15.0.7/llvm/lib/Target/NVPTX/ |
| H A D | NVPTXFrameLowering.cpp | 32 void NVPTXFrameLowering::emitPrologue(MachineFunction &MF, in emitPrologue() argument 34 if (MF.getFrameInfo().hasStackObjects()) { in emitPrologue() 37 MachineRegisterInfo &MR = MF.getRegInfo(); in emitPrologue() 56 if (!MR.use_empty(NRI->getFrameRegister(MF))) { in emitPrologue() 60 NRI->getFrameRegister(MF)) in emitPrologue() 61 .addReg(NRI->getFrameLocalRegister(MF)); in emitPrologue() 64 NRI->getFrameLocalRegister(MF)) in emitPrologue() 65 .addImm(MF.getFunctionNumber()); in emitPrologue() 72 const MachineFrameInfo &MFI = MF.getFrameInfo(); in getFrameIndexReference() 78 void NVPTXFrameLowering::emitEpilogue(MachineFunction &MF, in emitEpilogue() argument [all …]
|
| /llvm-project-15.0.7/llvm/unittests/CodeGen/GlobalISel/ |
| H A D | LegalizerHelperTest.cpp | 77 EXPECT_TRUE(CheckMachineFunction(*MF, CheckStr)) << *MF; in TEST_F() 134 EXPECT_TRUE(CheckMachineFunction(*MF, CheckStr)) << *MF; in TEST_F() 180 EXPECT_TRUE(CheckMachineFunction(*MF, CheckStr)) << *MF; in TEST_F() 213 EXPECT_TRUE(CheckMachineFunction(*MF, CheckStr)) << *MF; in TEST_F() 247 EXPECT_TRUE(CheckMachineFunction(*MF, CheckStr)) << *MF; in TEST_F() 282 EXPECT_TRUE(CheckMachineFunction(*MF, CheckStr)) << *MF; in TEST_F() 317 EXPECT_TRUE(CheckMachineFunction(*MF, CheckStr)) << *MF; in TEST_F() 350 EXPECT_TRUE(CheckMachineFunction(*MF, CheckStr)) << *MF; in TEST_F() 384 EXPECT_TRUE(CheckMachineFunction(*MF, CheckStr)) << *MF; in TEST_F() 1499 MF->insert(MF->end(), MidMBB); in TEST_F() [all …]
|
| /llvm-project-15.0.7/llvm/lib/Target/LoongArch/ |
| H A D | LoongArchFrameLowering.cpp | 36 const MachineFrameInfo &MFI = MF.getFrameInfo(); in hasFP() 37 return MF.getTarget().Options.DisableFramePointerElim(MF) || in hasFP() 43 const MachineFrameInfo &MFI = MF.getFrameInfo(); in hasBP() 75 MachineFrameInfo &MFI = MF.getFrameInfo(); in determineFrameLayout() 89 MachineFrameInfo &MFI = MF.getFrameInfo(); in emitPrologue() 102 determineFrameLayout(MF); in emitPrologue() 140 if (hasFP(MF)) { in emitPrologue() 155 MachineFrameInfo &MFI = MF.getFrameInfo(); in emitEpilogue() 187 if (hasFP(MF)) { in determineCalleeSaves() 192 if (hasBP(MF)) in determineCalleeSaves() [all …]
|