[WinEH] Update CATCHRET's operand to match its successor
authorDavid Majnemer <david.majnemer@gmail.com>
Mon, 5 Oct 2015 20:09:16 +0000 (20:09 +0000)
committerDavid Majnemer <david.majnemer@gmail.com>
Mon, 5 Oct 2015 20:09:16 +0000 (20:09 +0000)
commit6212b4d0b8f337180a7c54b1da25da27897b247b
tree45a9b3e82d00c6c83d74c2f1b7bad0c691df6a2c
parent15c2d43e8bf37794bd45fdd9b3205e9d7c69dc24
[WinEH] Update CATCHRET's operand to match its successor

The CATCHRET operand did not match the MachineFunction's CFG.  This
mismatch happened because FrameLowering created a new MachineBasicBlock
and updated the CFG but forgot to update the CATCHRET operand.

Let's make sure this doesn't happen again by strengthing the funclet
membership analysis: it can now reason about the membership of all basic
blocks, not just those inside of funclets.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@249344 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/Analysis.cpp
lib/CodeGen/FuncletLayout.cpp
lib/Target/X86/X86FrameLowering.cpp