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