================ @@ -85,17 +90,32 @@ static bool isPrologueCFIInstruction(const MachineInstr &MI) { MI.getFlag(MachineInstr::FrameSetup); } -static bool containsPrologue(const MachineBasicBlock &MBB) { - return llvm::any_of(MBB.instrs(), isPrologueCFIInstruction); -} - static bool containsEpilogue(const MachineBasicBlock &MBB) { return llvm::any_of(llvm::reverse(MBB), [](const auto &MI) { return MI.getOpcode() == TargetOpcode::CFI_INSTRUCTION && MI.getFlag(MachineInstr::FrameDestroy); }); } +static MachineBasicBlock * +findPrologueEnd(MachineFunction &MF, MachineBasicBlock::iterator &PrologueEnd) { + MachineBasicBlock *PrologueBlock = nullptr; + for (auto It = po_begin(&MF.front()), End = po_end(&MF.front()); It != End; + ++It) { + MachineBasicBlock *MBB = *It; + llvm::for_each(MBB->instrs(), [&](MachineInstr &MI) { ---------------- momchil-velikov wrote:
Indeed, I'll do it. https://github.com/llvm/llvm-project/pull/68993 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits