diff options
author | Joseph Tremoulet <jotrem@microsoft.com> | 2015-10-16 21:22:54 +0000 |
---|---|---|
committer | Joseph Tremoulet <jotrem@microsoft.com> | 2015-10-16 21:22:54 +0000 |
commit | d11a998e8185750a169274c10ff3073cfcb8323d (patch) | |
tree | 554b022e1c6fb257497d6f293f83e477ac7d99aa /llvm/lib/CodeGen | |
parent | a716574b0d90d545cfa0104f2065b74d1b7d8890 (diff) | |
download | bcm5719-llvm-d11a998e8185750a169274c10ff3073cfcb8323d.tar.gz bcm5719-llvm-d11a998e8185750a169274c10ff3073cfcb8323d.zip |
[WinEH] Fix CatchRetSuccessorColorMap accounting
Summary:
We now use the block for the catchpad itself, rather than its normal
successor, as the funclet entry.
Putting the normal successor in the map leads downstream funclet
membership computations to erroneous results.
Reviewers: majnemer, rnk
Subscribers: rnk, llvm-commits
Differential Revision: http://reviews.llvm.org/D13798
llvm-svn: 250552
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r-- | llvm/lib/CodeGen/WinEHPrepare.cpp | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/WinEHPrepare.cpp b/llvm/lib/CodeGen/WinEHPrepare.cpp index 957064891d7..ca69d321f3b 100644 --- a/llvm/lib/CodeGen/WinEHPrepare.cpp +++ b/llvm/lib/CodeGen/WinEHPrepare.cpp @@ -703,8 +703,6 @@ void llvm::calculateCatchReturnSuccessorColors(const Function *Fn, std::set<BasicBlock *> &SuccessorColors = BlockColors[CatchRetSuccessor]; assert(SuccessorColors.size() == 1 && "Expected BB to be monochrome!"); BasicBlock *Color = *SuccessorColors.begin(); - if (auto *CPI = dyn_cast<CatchPadInst>(Color->getFirstNonPHI())) - Color = CPI->getNormalDest(); // Record the catchret successor's funclet membership. FuncInfo.CatchRetSuccessorColorMap[CatchReturn] = Color; } |