forked from OSchip/llvm-project
CodeGen: Check for a terminator in llvm::getFuncletMembership
Check for an end iterator from MachineBasicBlock::getFirstTerminator in llvm::getFuncletMembership. If this is turned into an assertion, it fires in 48 X86 testcases (for example, CodeGen/X86/regalloc-spill-at-ehpad.ll). Since this is likely a latent bug (shouldn't all basic blocks end with a terminator?) I've filed PR28938. llvm-svn: 278344
This commit is contained in:
parent
3f69195b9e
commit
2e7af979b9
|
@ -694,6 +694,11 @@ 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())
|
||||
|
|
Loading…
Reference in New Issue