diff options
| author | Chen Li <meloli87@gmail.com> | 2015-12-16 04:48:42 +0000 |
|---|---|---|
| committer | Chen Li <meloli87@gmail.com> | 2015-12-16 04:48:42 +0000 |
| commit | 3e8330a1feeb01e2fe30f29e376fa5f60ce8abcb (patch) | |
| tree | 556d9115a69ac605ca445079fc04d43823246c16 /llvm/lib | |
| parent | abfd553c2be6a8d7e57770dcbdbebf90149236ce (diff) | |
| download | bcm5719-llvm-3e8330a1feeb01e2fe30f29e376fa5f60ce8abcb.tar.gz bcm5719-llvm-3e8330a1feeb01e2fe30f29e376fa5f60ce8abcb.zip | |
[SelectionDAGBuilder] Adds support for landingpads of token type
Summary: This patch adds a check in visitLandingPad to see if landingpad's result type is token type. If so, do not create DAG nodes for its exception pointer and selector value. This patch enables the back end to handle landingpads of token type.
Reviewers: JosephTremoulet, majnemer, rnk
Subscribers: sanjoy, llvm-commits
Differential Revision: http://reviews.llvm.org/D15405
llvm-svn: 255749
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp index 6dd72c86f77..885997e2d0e 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp @@ -2177,6 +2177,13 @@ void SelectionDAGBuilder::visitLandingPad(const LandingPadInst &LP) { TLI.getExceptionSelectorRegister(PersonalityFn) == 0) return; + // If landingpad's return type is token type, we don't create DAG nodes + // for its exception pointer and selector value. The extraction of exception + // pointer or selector value from token type landingpads is not currently + // supported. + if (LP.getType()->isTokenTy()) + return; + SmallVector<EVT, 2> ValueVTs; SDLoc dl = getCurSDLoc(); ComputeValueVTs(TLI, DAG.getDataLayout(), LP.getType(), ValueVTs); |

