Lines Matching refs:AFI

225 static void emitAligningInstructions(MachineFunction &MF, ARMFunctionInfo *AFI,  in emitAligningInstructions()  argument
237 assert(!AFI->isThumb1OnlyFunction() && "Thumb1 not supported"); in emitAligningInstructions()
238 if (!AFI->isThumbFunction()) { in emitAligningInstructions()
285 ARMFunctionInfo *AFI = MF.getInfo<ARMFunctionInfo>(); in emitPrologue() local
292 assert(!AFI->isThumb1OnlyFunction() && in emitPrologue()
294 bool isARM = !AFI->isThumbFunction(); in emitPrologue()
296 unsigned ArgRegsSaveSize = AFI->getArgRegsSaveSize(); in emitPrologue()
323 if (!AFI->hasStackFrame() && in emitPrologue()
367 if (Reg < ARM::D8 || Reg >= ARM::D8 + AFI->getNumAlignedDPRCS2Regs()) in emitPrologue()
389 AFI->setFramePtrSpillOffset(MFI->getObjectOffset(FramePtrSpillFI) + in emitPrologue()
392 AFI->setGPRCalleeSavedArea1Offset(GPRCS1Offset); in emitPrologue()
393 AFI->setGPRCalleeSavedArea2Offset(GPRCS2Offset); in emitPrologue()
394 AFI->setDPRCalleeSavedAreaOffset(DPRCSOffset); in emitPrologue()
426 if (AFI->getNumAlignedDPRCS2Regs() > 0) { in emitPrologue()
427 MBBI = skipAlignedDPRCS2Spills(MBBI, AFI->getNumAlignedDPRCS2Regs()); in emitPrologue()
500 AFI->setShouldRestoreSPFromFP(true); in emitPrologue()
512 emitRegPlusImmediate(!AFI->isThumbFunction(), MBB, AfterPush, in emitPrologue()
603 (Reg < ARM::D8 || Reg >= ARM::D8 + AFI->getNumAlignedDPRCS2Regs())) { in emitPrologue()
623 AFI->getFramePtrSpillOffset()); in emitPrologue()
625 AFI->setGPRCalleeSavedArea1Size(GPRCS1Size); in emitPrologue()
626 AFI->setGPRCalleeSavedArea2Size(GPRCS2Size); in emitPrologue()
627 AFI->setDPRCalleeSavedGapSize(DPRGapSize); in emitPrologue()
628 AFI->setDPRCalleeSavedAreaSize(DPRCSSize); in emitPrologue()
634 if (!AFI->getNumAlignedDPRCS2Regs() && RegInfo->needsStackRealignment(MF)) { in emitPrologue()
636 assert(!AFI->isThumb1OnlyFunction()); in emitPrologue()
637 if (!AFI->isThumbFunction()) { in emitPrologue()
638 emitAligningInstructions(MF, AFI, TII, MBB, MBBI, dl, ARM::SP, MaxAlign, in emitPrologue()
650 emitAligningInstructions(MF, AFI, TII, MBB, MBBI, dl, ARM::R4, MaxAlign, in emitPrologue()
656 AFI->setShouldRestoreSPFromFP(true); in emitPrologue()
680 AFI->setShouldRestoreSPFromFP(true); in emitPrologue()
738 ARMFunctionInfo *AFI = MF.getInfo<ARMFunctionInfo>(); in emitEpilogue() local
742 assert(!AFI->isThumb1OnlyFunction() && in emitEpilogue()
744 bool isARM = !AFI->isThumbFunction(); in emitEpilogue()
746 unsigned ArgRegsSaveSize = AFI->getArgRegsSaveSize(); in emitEpilogue()
757 if (!AFI->hasStackFrame()) { in emitEpilogue()
773 AFI->getGPRCalleeSavedArea1Size() + in emitEpilogue()
774 AFI->getGPRCalleeSavedArea2Size() + in emitEpilogue()
775 AFI->getDPRCalleeSavedGapSize() + in emitEpilogue()
776 AFI->getDPRCalleeSavedAreaSize()); in emitEpilogue()
780 if (AFI->shouldRestoreSPFromFP()) { in emitEpilogue()
781 NumBytes = AFI->getFramePtrSpillOffset() - NumBytes; in emitEpilogue()
817 if (AFI->getDPRCalleeSavedAreaSize()) { in emitEpilogue()
824 if (AFI->getDPRCalleeSavedGapSize()) { in emitEpilogue()
825 assert(AFI->getDPRCalleeSavedGapSize() == 4 && in emitEpilogue()
827 emitSPUpdate(isARM, MBB, MBBI, dl, TII, AFI->getDPRCalleeSavedGapSize()); in emitEpilogue()
830 if (AFI->getGPRCalleeSavedArea2Size()) MBBI++; in emitEpilogue()
831 if (AFI->getGPRCalleeSavedArea1Size()) MBBI++; in emitEpilogue()
857 const ARMFunctionInfo *AFI = MF.getInfo<ARMFunctionInfo>(); in ResolveFrameIndexReference() local
859 int FPOffset = Offset - AFI->getFramePtrSpillOffset(); in ResolveFrameIndexReference()
885 if (hasFP(MF) && AFI->hasStackFrame()) { in ResolveFrameIndexReference()
893 if (AFI->isThumb2Function()) { in ResolveFrameIndexReference()
902 } else if (AFI->isThumb2Function()) { in ResolveFrameIndexReference()
1015 ARMFunctionInfo *AFI = MF.getInfo<ARMFunctionInfo>(); in emitPopInst() local
1039 LdmOpc = AFI->isThumbFunction() ? ARM::t2LDMIA_RET : ARM::LDMIA_RET; in emitPopInst()
1102 ARMFunctionInfo *AFI = MF.getInfo<ARMFunctionInfo>(); in emitAlignedDPRCS2Spills() local
1136 bool isThumb = AFI->isThumbFunction(); in emitAlignedDPRCS2Spills()
1137 assert(!AFI->isThumb1OnlyFunction() && "Can't realign stack for thumb1"); in emitAlignedDPRCS2Spills()
1138 AFI->setShouldRestoreSPFromFP(true); in emitAlignedDPRCS2Spills()
1153 emitAligningInstructions(MF, AFI, TII, MBB, MI, DL, ARM::R4, MaxAlign, true); in emitAlignedDPRCS2Spills()
1262 ARMFunctionInfo *AFI = MF.getInfo<ARMFunctionInfo>(); in emitAlignedDPRCS2Restores() local
1279 bool isThumb = AFI->isThumbFunction(); in emitAlignedDPRCS2Restores()
1280 assert(!AFI->isThumb1OnlyFunction() && "Can't realign stack for thumb1"); in emitAlignedDPRCS2Restores()
1343 ARMFunctionInfo *AFI = MF.getInfo<ARMFunctionInfo>(); in spillCalleeSavedRegisters() local
1345 unsigned PushOpc = AFI->isThumbFunction() ? ARM::t2STMDB_UPD : ARM::STMDB_UPD; in spillCalleeSavedRegisters()
1346 unsigned PushOneOpc = AFI->isThumbFunction() ? in spillCalleeSavedRegisters()
1349 unsigned NumAlignedDPRCS2Regs = AFI->getNumAlignedDPRCS2Regs(); in spillCalleeSavedRegisters()
1374 ARMFunctionInfo *AFI = MF.getInfo<ARMFunctionInfo>(); in restoreCalleeSavedRegisters() local
1375 bool isVarArg = AFI->getArgRegsSaveSize() > 0; in restoreCalleeSavedRegisters()
1376 unsigned NumAlignedDPRCS2Regs = AFI->getNumAlignedDPRCS2Regs(); in restoreCalleeSavedRegisters()
1383 unsigned PopOpc = AFI->isThumbFunction() ? ARM::t2LDMIA_UPD : ARM::LDMIA_UPD; in restoreCalleeSavedRegisters()
1384 unsigned LdrOpc = AFI->isThumbFunction() ? ARM::t2LDR_POST :ARM::LDR_POST_IMM; in restoreCalleeSavedRegisters()
1413 const ARMFunctionInfo *AFI = MF.getInfo<ARMFunctionInfo>(); in estimateRSStackSizeLimit() local
1441 if (TFI->hasFP(MF) && AFI->hasStackFrame()) in estimateRSStackSizeLimit()
1525 ARMFunctionInfo *AFI = MF.getInfo<ARMFunctionInfo>(); in processFunctionBeforeCalleeSavedScan() local
1535 if (AFI->isThumb2Function() && in processFunctionBeforeCalleeSavedScan()
1539 if (AFI->isThumb1OnlyFunction()) { in processFunctionBeforeCalleeSavedScan()
1541 if (AFI->getArgRegsSaveSize() > 0) in processFunctionBeforeCalleeSavedScan()
1622 if (!LRSpilled && AFI->isThumb1OnlyFunction()) { in processFunctionBeforeCalleeSavedScan()
1650 ((hasFP(MF) && AFI->hasStackFrame()) ? 4:0) >= in processFunctionBeforeCalleeSavedScan()
1657 AFI->setHasStackFrame(true); in processFunctionBeforeCalleeSavedScan()
1692 if (!AFI->isThumb1OnlyFunction() || in processFunctionBeforeCalleeSavedScan()
1700 } else if (!UnspilledCS2GPRs.empty() && !AFI->isThumb1OnlyFunction()) { in processFunctionBeforeCalleeSavedScan()
1722 (!AFI->isThumb1OnlyFunction() || isARMLowRegister(Reg) || in processFunctionBeforeCalleeSavedScan()
1729 if (!AFI->isThumb1OnlyFunction()) { in processFunctionBeforeCalleeSavedScan()
1743 } else if (!AFI->isThumb1OnlyFunction()) { in processFunctionBeforeCalleeSavedScan()
1756 AFI->setLRIsSpilledForFarJump(true); in processFunctionBeforeCalleeSavedScan()
1780 ARMFunctionInfo *AFI = MF.getInfo<ARMFunctionInfo>(); in eliminateCallFramePseudoInstr() local
1781 assert(!AFI->isThumb1OnlyFunction() && in eliminateCallFramePseudoInstr()
1783 bool isARM = !AFI->isThumbFunction(); in eliminateCallFramePseudoInstr()