From 26f9e9ebc3224a82287e9eeed9262fbc31784e28 Mon Sep 17 00:00:00 2001 From: Reid Kleckner Date: Thu, 11 Aug 2016 16:00:43 +0000 Subject: [PATCH] Remove FIXME about asserting on the end iterator After machine block placement, MBBs may not have terminators, and it is appropriate to check for the end iterator here. We can fold the check into the next if, as well. This look is really just looking for BBs that end in CATCHRET. llvm-svn: 278350 --- llvm/lib/CodeGen/Analysis.cpp | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/llvm/lib/CodeGen/Analysis.cpp b/llvm/lib/CodeGen/Analysis.cpp index 9fb29b8..ebbcaeb 100644 --- a/llvm/lib/CodeGen/Analysis.cpp +++ b/llvm/lib/CodeGen/Analysis.cpp @@ -695,13 +695,9 @@ llvm::getFuncletMembership(const MachineFunction &MF) { MachineBasicBlock::const_iterator MBBI = MBB.getFirstTerminator(); - // FIXME: Should this be an assertion? It fires all over in X86. - if (MBBI == MBB.end()) - continue; - // CatchPads are not funclets for SEH so do not consider CatchRet to // transfer control to another funclet. - if (MBBI->getOpcode() != TII->getCatchReturnOpcode()) + if (MBBI == MBB.end() || MBBI->getOpcode() != TII->getCatchReturnOpcode()) continue; // FIXME: SEH CatchPads are not necessarily in the parent function: -- 2.7.4