Home | History | Annotate | Download | only in CodeGen

Lines Matching refs:Block

378   // Deactivate the cleanup block.
465 /// Emit the dispatch block for a filter scope if necessary.
580 // The dispatch block for the end of the scope chain is a block that
596 dispatchBlock = catchScope.getHandler(0).Block;
598 // Otherwise, make a dispatch block.
627 // Returning nullptr indicates that the previous dispatch block should unwind
662 llvm_unreachable("PadEnd dispatch block missing!");
899 CGF.Builder.SetInsertPoint(Handler.Block);
909 CatchSwitch->addHandler(Handler.Block);
914 /// Emit the structure of the dispatch block for the given catch scope.
915 /// It is an invariant that the dispatch block already exists.
925 // that catch-all as the dispatch block.
928 assert(dispatchBlock == catchScope.getHandler(0).Block);
953 // Figure out the next block.
958 // block is the block for the enclosing EH scope.
964 // next block is that handler.
966 nextBlock = catchScope.getHandler(i+1).Block;
969 // Otherwise, we're not at the end and we need a new block.
982 CGF.Builder.CreateCondBr(matchesTypeIndex, handler.Block, nextBlock);
989 // Otherwise we need to emit and continue at that block.
1023 // The fall-through block.
1026 // We just emitted the body of the try; jump to the continue block.
1039 // catch block will have exactly one predecessor, which will be a
1040 // particular block in the catch dispatch. However, in the case of
1045 llvm::BasicBlock *CatchBlock = Handlers[I-1].Block;
1068 // reaches the end of a handler of the function-try-block of a
1073 // constructor function-try-block's catch handler (p14), so this
1134 // cleanups in the finally block.
1139 // Emit the finally block.
1184 /// Enters a finally block for an implementation using zero-cost
1211 // A finally block is a statement which must be executed on any edge
1212 // out of a given scope. Unlike a cleanup, the finally block may
1217 // cleanup (to catch attempts to break out of the block via normal
1219 // statement to which the finally block might have been attached).
1220 // The finally block itself is generated in the context of a cleanup
1223 // Jump destination for performing the finally block on an exception
1224 // edge. We'll never actually reach this block, so unreachable is
1228 // Whether the finally block is being executed for EH purposes.
1232 // Enter a normal cleanup which will perform the @finally block.
1246 llvm::BasicBlock *catchBB = catchScope.getHandler(0).Block;
1250 // If there are any references to the catch-all block, emit it.
1271 // Tell the cleanups in the finally block that we're do this for EH.
1324 // Set up the terminate handler. This block is inserted at the very
1711 // Mark finally block calls as nounwind and noinline to make LLVM's job a
1788 // Outline the finally block.
1797 // Otherwise, we must have an __except block.
1825 // Just pop the cleanup if it's a __finally block.
1831 // Otherwise, we must have an __except block.
1836 // Don't emit the __except block if the __try block lacked invokes.
1846 // The fall-through block.
1849 // We just emitted the body of the __try; jump to the continue block.
1856 // Grab the block before we pop the handler.
1857 llvm::BasicBlock *CatchPadBB = CatchScope.getHandler(0).Block;
1897 // This must be a __leave from a __finally block, which we warn on and is UB.