summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
diff options
context:
space:
mode:
authorJoseph Tremoulet <jotrem@microsoft.com>2015-10-16 21:22:54 +0000
committerJoseph Tremoulet <jotrem@microsoft.com>2015-10-16 21:22:54 +0000
commitd11a998e8185750a169274c10ff3073cfcb8323d (patch)
tree554b022e1c6fb257497d6f293f83e477ac7d99aa /llvm/lib/CodeGen
parenta716574b0d90d545cfa0104f2065b74d1b7d8890 (diff)
downloadbcm5719-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.cpp2
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;
}
OpenPOWER on IntegriCloud