[WinEH] Ignore filter clauses while mapping landing pad blocks.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@235656 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Andrew Kaylor
2015-04-23 22:38:36 +00:00
parent 173a68d4a2
commit 3ad4bc1445
2 changed files with 27 additions and 0 deletions
+6
View File
@@ -1666,6 +1666,12 @@ void WinEHPrepare::mapLandingPadBlocks(LandingPadInst *LPad,
while (HandlersFound != NumClauses) {
BasicBlock *NextBB = nullptr;
// Skip over filter clauses.
if (LPad->isFilter(HandlersFound)) {
++HandlersFound;
continue;
}
// See if the clause we're looking for is a catch-all.
// If so, the catch begins immediately.
Constant *ExpectedSelector = LPad->getClause(HandlersFound)->stripPointerCasts();