Lines Matching full:exception

1 //===--- WebAssemblyExceptionInfo.cpp - Exception Infomation --------------===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
29 #define DEBUG_TYPE "wasm-exception-info"
34 "WebAssembly Exception Information", true, true)
38 "WebAssembly Exception Information", true, true)
41 LLVM_DEBUG(dbgs() << "********** Exception Info Calculation **********\n"
94 // which means, if an exception is not caught by the catchpad, it should end
101 // ... // this catch (int) { ... } is grouped as an exception
107 // unwind destination is in the outside of the catchpad's exception.
111 // children outside of the exception, that unwind destination ends up also
112 // being dominated by the EH pad and included in the exception, which is not
116 // exception. Note that the unwind destinations may not be an immediate
117 // children of the parent exception, so we have to traverse the parent chain.
142 << "'s exception is taken out of "
144 << SrcWE->getEHPad()->getName() << "'s exception\n");
152 // For example, suppose Exception A is dominated by EHPad A and Exception B is
154 // EHPad B is dominated by EHPad A, the initial grouping makes Exception B a
155 // subexception of Exception A, and we fix it by taking Exception B out of
156 // Exception A above. But there can still be remaining BBs within Exception A
157 // that are reachable from Exception B. These BBs semantically don't belong
158 // to Exception A and were not a part of this 'catch' clause or cleanup code
159 // in the original code, but they just happened to be grouped within Exception
161 // BBs out of the incorrect exception and all its subexceptions that it
166 // change parent exception pointer.
177 // If WE (the current EH pad's exception) is still contained in SrcWE but
186 << "'s exception is taken out of "
188 << SrcWE->getEHPad()->getName() << "'s exception\n");
196 // for each exception.
205 // exceptions' BlockSet, when we take a BB out of an exception, we need to fix
227 << "'s exception\n");
233 << "'s exception\n");
296 // Find its outermost discovered exception. If this is a discovered block,
297 // check if it is already discovered to be a subexception of this exception.
301 // Discover a subexception of this exception.
315 // This is an undiscovered block. Map it to the current exception.
340 OS.indent(Depth * 2) << "Exception at depth " << getExceptionDepth()