Lines Matching refs:AFI
232 static void emitAligningInstructions(MachineFunction &MF, ARMFunctionInfo *AFI, in emitAligningInstructions() argument
244 assert(!AFI->isThumb1OnlyFunction() && "Thumb1 not supported"); in emitAligningInstructions()
245 if (!AFI->isThumbFunction()) { in emitAligningInstructions()
292 ARMFunctionInfo *AFI = MF.getInfo<ARMFunctionInfo>(); in emitPrologue() local
299 assert(!AFI->isThumb1OnlyFunction() && in emitPrologue()
301 bool isARM = !AFI->isThumbFunction(); in emitPrologue()
303 unsigned ArgRegsSaveSize = AFI->getArgRegsSaveSize(); in emitPrologue()
334 if (!AFI->hasStackFrame() && in emitPrologue()
378 if (Reg < ARM::D8 || Reg >= ARM::D8 + AFI->getNumAlignedDPRCS2Regs()) in emitPrologue()
400 AFI->setFramePtrSpillOffset(MFI->getObjectOffset(FramePtrSpillFI) + in emitPrologue()
403 AFI->setGPRCalleeSavedArea1Offset(GPRCS1Offset); in emitPrologue()
404 AFI->setGPRCalleeSavedArea2Offset(GPRCS2Offset); in emitPrologue()
405 AFI->setDPRCalleeSavedAreaOffset(DPRCSOffset); in emitPrologue()
437 if (AFI->getNumAlignedDPRCS2Regs() > 0) { in emitPrologue()
438 MBBI = skipAlignedDPRCS2Spills(MBBI, AFI->getNumAlignedDPRCS2Regs()); in emitPrologue()
494 if (AFI->getNumAlignedDPRCS2Regs() == 0 && in emitPrologue()
512 AFI->setShouldRestoreSPFromFP(true); in emitPrologue()
524 emitRegPlusImmediate(!AFI->isThumbFunction(), MBB, AfterPush, in emitPrologue()
615 (Reg < ARM::D8 || Reg >= ARM::D8 + AFI->getNumAlignedDPRCS2Regs())) { in emitPrologue()
635 AFI->getFramePtrSpillOffset()); in emitPrologue()
637 AFI->setGPRCalleeSavedArea1Size(GPRCS1Size); in emitPrologue()
638 AFI->setGPRCalleeSavedArea2Size(GPRCS2Size); in emitPrologue()
639 AFI->setDPRCalleeSavedGapSize(DPRGapSize); in emitPrologue()
640 AFI->setDPRCalleeSavedAreaSize(DPRCSSize); in emitPrologue()
646 if (!AFI->getNumAlignedDPRCS2Regs() && RegInfo->needsStackRealignment(MF)) { in emitPrologue()
648 assert(!AFI->isThumb1OnlyFunction()); in emitPrologue()
649 if (!AFI->isThumbFunction()) { in emitPrologue()
650 emitAligningInstructions(MF, AFI, TII, MBB, MBBI, dl, ARM::SP, MaxAlign, in emitPrologue()
662 emitAligningInstructions(MF, AFI, TII, MBB, MBBI, dl, ARM::R4, MaxAlign, in emitPrologue()
668 AFI->setShouldRestoreSPFromFP(true); in emitPrologue()
692 AFI->setShouldRestoreSPFromFP(true); in emitPrologue()
698 ARMFunctionInfo *AFI = MF.getInfo<ARMFunctionInfo>(); in emitEpilogue() local
702 assert(!AFI->isThumb1OnlyFunction() && in emitEpilogue()
704 bool isARM = !AFI->isThumbFunction(); in emitEpilogue()
706 unsigned ArgRegsSaveSize = AFI->getArgRegsSaveSize(); in emitEpilogue()
719 if (!AFI->hasStackFrame()) { in emitEpilogue()
735 AFI->getGPRCalleeSavedArea1Size() + in emitEpilogue()
736 AFI->getGPRCalleeSavedArea2Size() + in emitEpilogue()
737 AFI->getDPRCalleeSavedGapSize() + in emitEpilogue()
738 AFI->getDPRCalleeSavedAreaSize()); in emitEpilogue()
742 if (AFI->shouldRestoreSPFromFP()) { in emitEpilogue()
743 NumBytes = AFI->getFramePtrSpillOffset() - NumBytes; in emitEpilogue()
779 if (AFI->getDPRCalleeSavedAreaSize()) { in emitEpilogue()
786 if (AFI->getDPRCalleeSavedGapSize()) { in emitEpilogue()
787 assert(AFI->getDPRCalleeSavedGapSize() == 4 && in emitEpilogue()
789 emitSPUpdate(isARM, MBB, MBBI, dl, TII, AFI->getDPRCalleeSavedGapSize()); in emitEpilogue()
792 if (AFI->getGPRCalleeSavedArea2Size()) MBBI++; in emitEpilogue()
793 if (AFI->getGPRCalleeSavedArea1Size()) MBBI++; in emitEpilogue()
817 const ARMFunctionInfo *AFI = MF.getInfo<ARMFunctionInfo>(); in ResolveFrameIndexReference() local
819 int FPOffset = Offset - AFI->getFramePtrSpillOffset(); in ResolveFrameIndexReference()
845 if (hasFP(MF) && AFI->hasStackFrame()) { in ResolveFrameIndexReference()
853 if (AFI->isThumb2Function()) { in ResolveFrameIndexReference()
862 } else if (AFI->isThumb2Function()) { in ResolveFrameIndexReference()
963 ARMFunctionInfo *AFI = MF.getInfo<ARMFunctionInfo>(); in emitPopInst() local
997 LdmOpc = AFI->isThumbFunction() ? ARM::t2LDMIA_RET : ARM::LDMIA_RET; in emitPopInst()
999 LdmOpc = AFI->isThumbFunction() ? ARM::t2LDMIA_UPD : ARM::LDMIA_UPD; in emitPopInst()
1062 ARMFunctionInfo *AFI = MF.getInfo<ARMFunctionInfo>(); in emitAlignedDPRCS2Spills() local
1096 bool isThumb = AFI->isThumbFunction(); in emitAlignedDPRCS2Spills()
1097 assert(!AFI->isThumb1OnlyFunction() && "Can't realign stack for thumb1"); in emitAlignedDPRCS2Spills()
1098 AFI->setShouldRestoreSPFromFP(true); in emitAlignedDPRCS2Spills()
1113 emitAligningInstructions(MF, AFI, TII, MBB, MI, DL, ARM::R4, MaxAlign, true); in emitAlignedDPRCS2Spills()
1222 ARMFunctionInfo *AFI = MF.getInfo<ARMFunctionInfo>(); in emitAlignedDPRCS2Restores() local
1239 bool isThumb = AFI->isThumbFunction(); in emitAlignedDPRCS2Restores()
1240 assert(!AFI->isThumb1OnlyFunction() && "Can't realign stack for thumb1"); in emitAlignedDPRCS2Restores()
1303 ARMFunctionInfo *AFI = MF.getInfo<ARMFunctionInfo>(); in spillCalleeSavedRegisters() local
1305 unsigned PushOpc = AFI->isThumbFunction() ? ARM::t2STMDB_UPD : ARM::STMDB_UPD; in spillCalleeSavedRegisters()
1306 unsigned PushOneOpc = AFI->isThumbFunction() ? in spillCalleeSavedRegisters()
1309 unsigned NumAlignedDPRCS2Regs = AFI->getNumAlignedDPRCS2Regs(); in spillCalleeSavedRegisters()
1334 ARMFunctionInfo *AFI = MF.getInfo<ARMFunctionInfo>(); in restoreCalleeSavedRegisters() local
1335 bool isVarArg = AFI->getArgRegsSaveSize() > 0; in restoreCalleeSavedRegisters()
1336 unsigned NumAlignedDPRCS2Regs = AFI->getNumAlignedDPRCS2Regs(); in restoreCalleeSavedRegisters()
1343 unsigned PopOpc = AFI->isThumbFunction() ? ARM::t2LDMIA_UPD : ARM::LDMIA_UPD; in restoreCalleeSavedRegisters()
1344 unsigned LdrOpc = AFI->isThumbFunction() ? ARM::t2LDR_POST :ARM::LDR_POST_IMM; in restoreCalleeSavedRegisters()
1373 const ARMFunctionInfo *AFI = MF.getInfo<ARMFunctionInfo>(); in estimateRSStackSizeLimit() local
1401 if (TFI->hasFP(MF) && AFI->hasStackFrame()) in estimateRSStackSizeLimit()
1487 ARMFunctionInfo *AFI = MF.getInfo<ARMFunctionInfo>(); in determineCalleeSaves() local
1497 if (AFI->isThumb2Function() && in determineCalleeSaves()
1501 if (AFI->isThumb1OnlyFunction()) { in determineCalleeSaves()
1503 if (AFI->getArgRegsSaveSize() > 0) in determineCalleeSaves()
1593 if (!LRSpilled && AFI->isThumb1OnlyFunction()) { in determineCalleeSaves()
1621 if (AFI->hasStackFrame()) in determineCalleeSaves()
1635 AFI->setHasStackFrame(true); in determineCalleeSaves()
1671 if (!AFI->isThumbFunction() || in determineCalleeSaves()
1680 } else if (!UnspilledCS2GPRs.empty() && !AFI->isThumb1OnlyFunction()) { in determineCalleeSaves()
1702 (!AFI->isThumb1OnlyFunction() || isARMLowRegister(Reg) || in determineCalleeSaves()
1709 if (!AFI->isThumb1OnlyFunction()) { in determineCalleeSaves()
1723 } else if (!AFI->isThumb1OnlyFunction()) { in determineCalleeSaves()
1737 AFI->setLRIsSpilledForFarJump(true); in determineCalleeSaves()
1759 ARMFunctionInfo *AFI = MF.getInfo<ARMFunctionInfo>(); in eliminateCallFramePseudoInstr() local
1760 assert(!AFI->isThumb1OnlyFunction() && in eliminateCallFramePseudoInstr()
1762 bool isARM = !AFI->isThumbFunction(); in eliminateCallFramePseudoInstr()