/llvm-project/llvm/lib/MC/ |
H A D | MCWin64EH.cpp | 741 const std::vector<WinEH::Instruction> &Epilog) { in getARM64OffsetInProlog() argument 743 if (Epilog.size() > Prolog.size()) in getARM64OffsetInProlog() 748 for (int I = Epilog.size() - 1; I >= 0; I--) { in getARM64OffsetInProlog() 749 if (Prolog[I] != Epilog[Epilog.size() - 1 - I]) in getARM64OffsetInProlog() 753 if (Epilog.size() == Prolog.size()) in getARM64OffsetInProlog() 758 &Prolog[Epilog.size()], Prolog.size() - Epilog.size())); in getARM64OffsetInProlog() 769 const std::vector<WinEH::Instruction> &Epilog = in checkARM64PackedEpilog() local 776 if (DistanceFromEnd / 4 != Epilog.size()) in checkARM64PackedEpilog() 785 PrologCodeBytes + ARM64CountOfUnwindCodes(Epilog) <= 124) in checkARM64PackedEpilog() 788 int Offset = getARM64OffsetInProlog(info->Instructions, Epilog); in checkARM64PackedEpilog() [all …]
|
/llvm-project/llvm/lib/Target/ARM/MCTargetDesc/ |
H A D | ARMWinCOFFStreamer.cpp | 244 std::vector<WinEH::Instruction> &Epilog = in emitARMWinCFIEpilogEnd() 248 if (!Epilog.empty()) { in emitARMWinCFIEpilogEnd() 249 WinEH::Instruction EndInstr = Epilog.back(); in emitARMWinCFIEpilogEnd() 252 Epilog.pop_back(); in emitARMWinCFIEpilogEnd() 255 Epilog.pop_back(); in emitARMWinCFIEpilogEnd() 247 std::vector<WinEH::Instruction> &Epilog = emitARMWinCFIEpilogEnd() local
|
/llvm-project/llvm/lib/Target/AArch64/ |
H A D | AArch64LowerHomogeneousPrologEpilog.cpp | 124 enum FrameHelperType { Prolog, PrologFrame, Epilog, EpilogTail }; in run() 139 case FrameHelperType::Epilog: in getFrameHelperName() 358 case FrameHelperType::Epilog: in getOrCreateFrameHelper() 360 if (Type == FrameHelperType::Epilog) in getOrCreateFrameHelper() 376 .addReg(Type == FrameHelperType::Epilog ? AArch64::X16 : AArch64::LR); in getOrCreateFrameHelper() 413 case FrameHelperType::Epilog: in shouldUseFrameHelper() 420 // Epilog may not be in the last block. Check the liveness in successors. in shouldUseFrameHelper() 504 FrameHelperType::Epilog)) { in lowerEpilog() 507 getOrCreateFrameHelper(M, MMI, Regs, FrameHelperType::Epilog); in lowerEpilog() 127 enum FrameHelperType { Prolog, PrologFrame, Epilog, EpilogTail }; global() enumerator
|
/llvm-project/llvm/lib/CodeGen/ |
H A D | ModuloSchedule.cpp | 838 for (auto &Epilog : EpilogBBs) in splitLifetimes() 839 for (auto &I : *Epilog) in splitLifetimes() 870 assert(PrologBBs.size() == EpilogBBs.size() && "Prolog/Epilog mismatch"); in addBranches() 882 MachineBasicBlock *Epilog = EpilogBBs[i]; in addBranches() 889 Prolog->addSuccessor(Epilog); in addBranches() 890 numAdded = TII->insertBranch(*Prolog, Epilog, LastPro, Cond, DebugLoc()); in addBranches() 892 Prolog->addSuccessor(Epilog); in addBranches() 894 LastEpi->removeSuccessor(Epilog); in addBranches() 895 numAdded = TII->insertBranch(*Prolog, Epilog, nullptr, Cond, DebugLoc()); in addBranches() 896 removePhis(Epilog, LastEp in addBranches() 834 for (auto &Epilog : EpilogBBs) splitLifetimes() local 878 MachineBasicBlock *Epilog = EpilogBBs[i]; addBranches() local 1962 MachineBasicBlock *Epilog = *EI; fixupBranches() local [all...] |
/llvm-project/llvm/include/llvm/MC/ |
H A D | MCWinEH.h | 59 struct Epilog { struct 64 MapVector<MCSymbol *, Epilog> EpilogMap;
|
/llvm-project/llvm/test/CodeGen/Thumb2/ |
H A D | aligned-spill.ll | 63 ; Epilog 89 ; Epilog
|
/llvm-project/llvm/test/Transforms/LoopUnroll/ |
H A D | epilog_const_phi.ll | 3 ; Epilog unroll allows to keep PHI constant value.
|
/llvm-project/llvm/include/llvm/Target/ |
H A D | TargetMacroFusion.td | 117 // /* Epilog */
|
/llvm-project/llvm/include/llvm/CodeGen/ |
H A D | ModuloSchedule.h | 394 MachineBasicBlock *Epilog = nullptr; variable
|
/llvm-project/llvm/test/CodeGen/ARM/ |
H A D | cxx-tlscc.ll | 25 ; Make sure Epilog does not overwrite an explicitly-handled CSR in CXX_FAST_TLS.
|
/llvm-project/llvm/test/CodeGen/PowerPC/ |
H A D | ppc-shrink-wrapping.ll | 271 ; Epilog code
|
/llvm-project/llvm/docs/ |
H A D | CodeGenerator.rst | 138 5. `Prolog/Epilog Code Insertion`_ --- Once the machine code has been generated 1517 .. _Prolog/Epilog Code Insertion: 1519 Prolog/Epilog Code Insertion 2231 Prolog/Epilog
|
H A D | WritingAnLLVMBackend.rst | 51 Formation, SSA-based Optimization, Register Allocation, Prolog/Epilog Code
|