reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

tools/clang/lib/CodeGen/CGException.cpp
  944   CGBuilderTy::InsertPoint SavedIP = CGF.Builder.saveIP();
  945   CGF.EmitBlockAfterUses(DispatchBlock);
  947   llvm::Value *ParentPad = CGF.CurrentFuncletPad;
  949     ParentPad = llvm::ConstantTokenNone::get(CGF.getLLVMContext());
  951       CGF.getEHDispatchBlock(CatchScope.getEnclosingEHScope());
  955       CGF.Builder.CreateCatchSwitch(ParentPad, UnwindBB, NumHandlers);
  959   llvm::BasicBlock *WasmCatchStartBlock = CGF.createBasicBlock("catch.start");
  961   CGF.EmitBlockAfterUses(WasmCatchStartBlock);
  969       TypeInfo.RTTI = llvm::Constant::getNullValue(CGF.VoidPtrTy);
  972   auto *CPI = CGF.Builder.CreateCatchPad(CatchSwitch, CatchTypes);
  978       CGF.CGM.getIntrinsic(llvm::Intrinsic::wasm_get_exception);
  980       CGF.CGM.getIntrinsic(llvm::Intrinsic::wasm_get_ehselector);
  981   llvm::CallInst *Exn = CGF.Builder.CreateCall(GetExnFn, CPI);
  982   CGF.Builder.CreateStore(Exn, CGF.getExceptionSlot());
  982   CGF.Builder.CreateStore(Exn, CGF.getExceptionSlot());
  983   llvm::CallInst *Selector = CGF.Builder.CreateCall(GetSelectorFn, CPI);
  985   llvm::Function *TypeIDFn = CGF.CGM.getIntrinsic(llvm::Intrinsic::eh_typeid_for);
  990     CGF.Builder.CreateBr(CatchScope.getHandler(0).Block);
  991     CGF.Builder.restoreIP(SavedIP);
 1001       TypeInfo.RTTI = llvm::Constant::getNullValue(CGF.VoidPtrTy);
 1012       NextBlock = CGF.createBasicBlock("rethrow");
 1024       NextBlock = CGF.createBasicBlock("catch.fallthrough");
 1029     llvm::CallInst *TypeIndex = CGF.Builder.CreateCall(TypeIDFn, TypeInfo.RTTI);
 1033         CGF.Builder.CreateICmpEQ(Selector, TypeIndex, "matches");
 1034     CGF.Builder.CreateCondBr(MatchesTypeIndex, Handler.Block, NextBlock);
 1037       CGF.EmitBlock(NextBlock);
 1042   CGF.Builder.restoreIP(SavedIP);