diff options
author | Reid Kleckner <rnk@google.com> | 2015-08-31 20:02:16 +0000 |
---|---|---|
committer | Reid Kleckner <rnk@google.com> | 2015-08-31 20:02:16 +0000 |
commit | e00faf8ce17a6ec31117a1dedb8ae506883d8232 (patch) | |
tree | 2c49aafbec193b096d78d7350aefa447341b5b4a /llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp | |
parent | 5f912d3797bc253a86712e2677cd3d983d81de55 (diff) | |
download | bcm5719-llvm-e00faf8ce17a6ec31117a1dedb8ae506883d8232.tar.gz bcm5719-llvm-e00faf8ce17a6ec31117a1dedb8ae506883d8232.zip |
[EH] Handle non-Function personalities like unknown personalities
Also delete and simplify a lot of MachineModuleInfo code that used to be
needed to handle personalities on landingpads. Now that the personality
is on the LLVM Function, we no longer need to track it this way on MMI.
Certainly it should not live on LandingPadInfo.
llvm-svn: 246478
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp')
-rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp b/llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp index c0d14c1780d..7a45858885d 100644 --- a/llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp @@ -553,10 +553,9 @@ void llvm::ComputeUsesVAFloatArgument(const CallInst &I, /// landingpad instruction and add them to the specified machine module info. void llvm::AddLandingPadInfo(const LandingPadInst &I, MachineModuleInfo &MMI, MachineBasicBlock *MBB) { - MMI.addPersonality( - MBB, - cast<Function>( - I.getParent()->getParent()->getPersonalityFn()->stripPointerCasts())); + if (const auto *PF = dyn_cast<Function>( + I.getParent()->getParent()->getPersonalityFn()->stripPointerCasts())) + MMI.addPersonality(PF); if (I.isCleanup()) MMI.addCleanup(MBB); |