Lines Matching refs:Epilog
733 const std::vector<WinEH::Instruction> &Epilog) { in getARM64OffsetInProlog() argument
735 if (Epilog.size() > Prolog.size()) in getARM64OffsetInProlog()
740 for (int I = Epilog.size() - 1; I >= 0; I--) { in getARM64OffsetInProlog()
741 if (Prolog[I] != Epilog[Epilog.size() - 1 - I]) in getARM64OffsetInProlog()
745 if (Epilog.size() == Prolog.size()) in getARM64OffsetInProlog()
750 &Prolog[Epilog.size()], Prolog.size() - Epilog.size())); in getARM64OffsetInProlog()
761 const std::vector<WinEH::Instruction> &Epilog = in checkARM64PackedEpilog() local
768 if (DistanceFromEnd / 4 != Epilog.size()) in checkARM64PackedEpilog()
777 PrologCodeBytes + ARM64CountOfUnwindCodes(Epilog) <= 124) in checkARM64PackedEpilog()
780 int Offset = getARM64OffsetInProlog(info->Instructions, Epilog); in checkARM64PackedEpilog()
1724 const std::vector<WinEH::Instruction> &Epilog, in getARMOffsetInProlog() argument
1727 if (Epilog.size() > Prolog.size()) in getARMOffsetInProlog()
1735 for (int I = Epilog.size() - 1; I >= EndIdx; I--) { in getARMOffsetInProlog()
1738 if (Prolog[I] != Epilog[Epilog.size() - 1 - I]) in getARMOffsetInProlog()
1746 if (Epilog.back().Operation != Win64EH::UOP_End && in getARMOffsetInProlog()
1747 Epilog.back().Operation != Win64EH::UOP_EndNop && in getARMOffsetInProlog()
1748 Epilog.back().Operation != Win64EH::UOP_WideEndNop) in getARMOffsetInProlog()
1753 if (Epilog.size() == Prolog.size()) in getARMOffsetInProlog()
1756 &Prolog[Epilog.size()], Prolog.size() - Epilog.size())); in getARMOffsetInProlog()
1765 const WinEH::FrameInfo::Epilog &EpilogInfo = info->EpilogMap.begin()->second; in checkARMPackedEpilog()
1770 const std::vector<WinEH::Instruction> &Epilog = EpilogInfo.Instructions; in checkARMPackedEpilog() local
1772 if (info->Instructions.empty() || Epilog.empty()) in checkARMPackedEpilog()
1782 uint32_t InstructionBytes = ARMCountOfInstructionBytes(Epilog); in checkARMPackedEpilog()
1792 PrologCodeBytes + ARMCountOfUnwindCodes(Epilog) <= 63) in checkARMPackedEpilog()
1796 getARMOffsetInProlog(info->Instructions, Epilog, /*CanTweakProlog=*/true); in checkARMPackedEpilog()
1808 info->Instructions.front() = Epilog.back(); in checkARMPackedEpilog()
1998 const WinEH::FrameInfo::Epilog &EpilogInfo = in tryARMPackedUnwind()
2002 const std::vector<WinEH::Instruction> &Epilog = EpilogInfo.Instructions; in tryARMPackedUnwind() local
2008 uint32_t InstructionBytes = ARMCountOfInstructionBytes(Epilog); in tryARMPackedUnwind()
2021 for (const WinEH::Instruction &Inst : Epilog) { in tryARMPackedUnwind()
2303 auto &Epilog = I.second; in ARMEmitUnwindInfo() local
2304 checkARMInstructions(streamer, Epilog.Instructions, EpilogStart, Epilog.End, in ARMEmitUnwindInfo()
2306 if (Epilog.Instructions.empty() || in ARMEmitUnwindInfo()
2307 !isARMTerminator(Epilog.Instructions.back())) in ARMEmitUnwindInfo()