Lines Matching refs:AFI
272 AArch64FunctionInfo *AFI = MF.getInfo<AArch64FunctionInfo>(); in getArgumentStackToRestore() local
290 ArgumentPopSize = AFI->getArgumentStackToRestore(); in getArgumentStackToRestore()
330 auto *AFI = MF.getInfo<AArch64FunctionInfo>(); in homogeneousPrologEpilog() local
331 if (AFI->hasSwiftAsyncContext()) in homogeneousPrologEpilog()
401 const AArch64FunctionInfo *AFI, bool IsWin64, in getFixedObjectSize() argument
404 return AFI->getTailCallReservedStack(); in getFixedObjectSize()
406 if (AFI->getTailCallReservedStack() != 0) in getFixedObjectSize()
409 const unsigned VarArgsArea = AFI->getVarArgsGPRSize(); in getFixedObjectSize()
418 const AArch64FunctionInfo *AFI = MF.getInfo<AArch64FunctionInfo>(); in getSVEStackSize() local
419 return StackOffset::getScalable((int64_t)AFI->getStackSizeSVE()); in getSVEStackSize()
435 const AArch64FunctionInfo *AFI = MF.getInfo<AArch64FunctionInfo>(); in canUseRedZone() local
436 uint64_t NumBytes = AFI->getLocalStackSize(); in canUseRedZone()
598 AArch64FunctionInfo &AFI = *MF.getInfo<AArch64FunctionInfo>(); in emitCalleeSavedSVELocations() local
613 StackOffset::getFixed(AFI.getCalleeSavedStackSize(MFI)); in emitCalleeSavedSVELocations()
736 AArch64FunctionInfo &AFI = *MF.getInfo<AArch64FunctionInfo>(); in allocateStackSpace() local
757 AFI.setStackRealigned(true); in allocateStackSpace()
800 int64_t ProbeSize = AFI.getStackProbeSize(); in allocateStackSpace()
816 AFI.setStackRealigned(true); in allocateStackSpace()
860 AFI.setStackRealigned(true); in allocateStackSpace()
1047 const AArch64FunctionInfo *AFI = MF->getInfo<AArch64FunctionInfo>(); in canUseAsPrologue() local
1049 if (AFI->hasSwiftAsyncContext()) { in canUseAsPrologue()
1088 AArch64FunctionInfo *AFI = MF.getInfo<AArch64FunctionInfo>(); in shouldCombineCSRLocalStackBump() local
1095 if (AFI->getLocalStackSize() == 0) in shouldCombineCSRLocalStackBump()
1106 if (needsWinCFI(MF) && AFI->getCalleeSavedStackSize() > 0 && in shouldCombineCSRLocalStackBump()
1586 AArch64FunctionInfo *AFI = MF.getInfo<AArch64FunctionInfo>(); in emitDefineCFAWithFP() local
1589 AFI->getCalleeSaveBaseToFrameRecordOffset() - in emitDefineCFAWithFP()
1590 AFI->getCalleeSavedStackSize(); in emitDefineCFAWithFP()
1624 AArch64FunctionInfo *AFI = MF.getInfo<AArch64FunctionInfo>(); in emitPrologue() local
1625 bool EmitCFI = AFI->needsDwarfUnwindInfo(MF); in emitPrologue()
1626 bool EmitAsyncCFI = AFI->needsAsyncDwarfUnwindInfo(MF); in emitPrologue()
1671 AFI->setHasRedZone(false); in emitPrologue()
1698 if (HasFP && AFI->hasSwiftAsyncContext()) { in emitPrologue()
1750 std::optional<int> TBPI = AFI->getTaggedBasePointerIndex(); in emitPrologue()
1752 AFI->setTaggedBasePointerOffset(-MFI.getObjectOffset(*TBPI)); in emitPrologue()
1754 AFI->setTaggedBasePointerOffset(MFI.getStackSize()); in emitPrologue()
1766 if (!AFI->hasStackFrame() && !windowsRequiresStackProbe(MF, NumBytes)) { in emitPrologue()
1771 AFI->setLocalStackSize(NumBytes); in emitPrologue()
1777 AFI->setHasRedZone(true); in emitPrologue()
1806 unsigned FixedObject = getFixedObjectSize(MF, AFI, IsWin64, IsFunclet); in emitPrologue()
1808 auto PrologueSaveSize = AFI->getCalleeSavedStackSize() + FixedObject; in emitPrologue()
1810 AFI->setLocalStackSize(NumBytes - PrologueSaveSize); in emitPrologue()
1837 fixupCalleeSaveRestoreStackOffset(*MBBI, AFI->getLocalStackSize(), in emitPrologue()
1845 int64_t FPOffset = AFI->getCalleeSaveBaseToFrameRecordOffset(); in emitPrologue()
1848 FPOffset += AFI->getLocalStackSize(); in emitPrologue()
1850 if (AFI->hasSwiftAsyncContext()) { in emitPrologue()
2030 AFI->setStackRealigned(true); in emitPrologue()
2043 if (int64_t CalleeSavedSize = AFI->getSVECalleeSavedStackSize()) { in emitPrologue()
2153 AArch64FunctionInfo *AFI = MF.getInfo<AArch64FunctionInfo>(); in emitEpilogue() local
2158 bool EmitCFI = AFI->needsAsyncDwarfUnwindInfo(MF); in emitEpilogue()
2170 if (AFI->shouldSignReturnAddress(MF)) { in emitEpilogue()
2177 if (AFI->needsShadowCallStackPrologueEpilogue(MF)) in emitEpilogue()
2208 unsigned FixedObject = getFixedObjectSize(MF, AFI, IsWin64, IsFunclet); in emitEpilogue()
2211 auto PrologueSaveSize = AFI->getCalleeSavedStackSize() + FixedObject; in emitEpilogue()
2217 AFI->setLocalStackSize(NumBytes - PrologueSaveSize); in emitEpilogue()
2229 StackOffset::getFixed(AFI->getLocalStackSize()), TII, in emitEpilogue()
2278 fixupCalleeSaveRestoreStackOffset(*LastPopI, AFI->getLocalStackSize(), in emitEpilogue()
2295 if (hasFP(MF) && AFI->hasSwiftAsyncContext()) { in emitEpilogue()
2355 if (int64_t CalleeSavedSize = AFI->getSVECalleeSavedStackSize()) { in emitEpilogue()
2375 if (AFI->isStackRealigned() || MFI.hasVarSizedObjects()) { in emitEpilogue()
2376 if (int64_t CalleeSavedSize = AFI->getSVECalleeSavedStackSize()) { in emitEpilogue()
2385 if (AFI->getSVECalleeSavedStackSize()) { in emitEpilogue()
2447 if (!IsFunclet && (MFI.hasVarSizedObjects() || AFI->isStackRealigned())) { in emitEpilogue()
2450 StackOffset::getFixed(-AFI->getCalleeSaveBaseToFrameRecordOffset()), in emitEpilogue()
2510 const auto *AFI = MF.getInfo<AArch64FunctionInfo>(); in getFPOffset() local
2515 getFixedObjectSize(MF, AFI, IsWin64, /*IsFunclet=*/false); in getFPOffset()
2516 int64_t CalleeSaveSize = AFI->getCalleeSavedStackSize(MF.getFrameInfo()); in getFPOffset()
2518 CalleeSaveSize - AFI->getCalleeSaveBaseToFrameRecordOffset(); in getFPOffset()
2556 const auto *AFI = MF.getInfo<AArch64FunctionInfo>(); in resolveFrameOffsetReference() local
2562 !isFixed && ObjectOffset >= -((int)AFI->getCalleeSavedStackSize(MFI)); in resolveFrameOffsetReference()
2571 if (AFI->hasStackFrame() && !isSVE) { in resolveFrameOffsetReference()
2638 StackOffset::get(-AFI->getCalleeSaveBaseToFrameRecordOffset(), ObjectOffset); in resolveFrameOffsetReference()
2641 StackOffset::get(MFI.getStackSize() - AFI->getCalleeSavedStackSize(), in resolveFrameOffsetReference()
2678 Offset -= AFI->getLocalStackSize(); in resolveFrameOffsetReference()
2792 AArch64FunctionInfo *AFI = MF.getInfo<AArch64FunctionInfo>(); in computeCalleeSaveRegisterPairs() local
2803 int ByteOffset = AFI->getCalleeSavedStackSize(); in computeCalleeSaveRegisterPairs()
2816 int ScalableByteOffset = AFI->getSVECalleeSavedStackSize(); in computeCalleeSaveRegisterPairs()
2817 bool NeedGapToAlignStack = AFI->hasCalleeSaveStackFreeSpace(); in computeCalleeSaveRegisterPairs()
2911 if (NeedsFrameRecord && AFI->hasSwiftAsyncContext() && in computeCalleeSaveRegisterPairs()
2941 if (NeedsFrameRecord && AFI->hasSwiftAsyncContext() && in computeCalleeSaveRegisterPairs()
2957 AFI->setCalleeSaveBaseToFrameRecordOffset(Offset); in computeCalleeSaveRegisterPairs()
2969 if (AFI->hasCalleeSaveStackFreeSpace()) in computeCalleeSaveRegisterPairs()
3238 AArch64FunctionInfo *AFI = MF.getInfo<AArch64FunctionInfo>(); in determineCalleeSaves() local
3369 AFI->setHasStackFrame(true); in determineCalleeSaves()
3418 if (hasFP(MF) && AFI->hasSwiftAsyncContext()) in determineCalleeSaves()
3427 AFI->getCalleeSavedStackSize() == AlignedCSStackSize) && in determineCalleeSaves()
3432 AFI->setCalleeSavedStackSize(AlignedCSStackSize); in determineCalleeSaves()
3433 AFI->setCalleeSaveStackHasFreeSpace(AlignedCSStackSize != CSStackSize); in determineCalleeSaves()
3434 AFI->setSVECalleeSavedStackSize(alignTo(SVECSStackSize, 16)); in determineCalleeSaves()
3456 auto *AFI = MF.getInfo<AArch64FunctionInfo>(); in assignCalleeSavedSpillSlots() local
3459 if (UsesWinAAPCS && hasFP(MF) && AFI->hasSwiftAsyncContext()) { in assignCalleeSavedSpillSlots()
3461 AFI->setSwiftAsyncContextFrameIdx(FrameIdx); in assignCalleeSavedSpillSlots()
3479 if (hasFP(MF) && AFI->hasSwiftAsyncContext() && !UsesWinAAPCS && in assignCalleeSavedSpillSlots()
3482 AFI->setSwiftAsyncContextFrameIdx(FrameIdx); in assignCalleeSavedSpillSlots()
3492 const AArch64FunctionInfo *AFI = MF.getInfo<AArch64FunctionInfo>(); in enableStackSlotScavenging() local
3497 if (AFI->hasStreamingModeChanges() && !hasFP(MF)) in enableStackSlotScavenging()
3499 return AFI->hasCalleeSaveStackFreeSpace(); in enableStackSlotScavenging()
3630 AArch64FunctionInfo *AFI = MF.getInfo<AArch64FunctionInfo>(); in processFunctionBeforeFrameFinalized() local
3631 AFI->setStackSizeSVE(alignTo(SVEStackSize, 16U)); in processFunctionBeforeFrameFinalized()
3632 AFI->setMinMaxSVECSFrameIndex(MinCSFrameIndex, MaxCSFrameIndex); in processFunctionBeforeFrameFinalized()
3649 getFixedObjectSize(MF, AFI, /*IsWin64*/ true, /*IsFunclet*/ false); in processFunctionBeforeFrameFinalized()
4256 const AArch64FunctionInfo &AFI = *MF.getInfo<AArch64FunctionInfo>(); in orderFrameObjects() local
4257 std::optional<int> TBPI = AFI.getTaggedBasePointerIndex(); in orderFrameObjects()
4357 AArch64FunctionInfo *AFI = MF.getInfo<AArch64FunctionInfo>(); in inlineStackProbeFixed() local
4358 bool EmitAsyncCFI = AFI->needsAsyncDwarfUnwindInfo(MF); in inlineStackProbeFixed()