Path: blob/main/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/WasmException.h
35271 views
//===-- WasmException.h - Wasm Exception Framework -------------*- C++ -*--===//1//2// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.3// See https://llvm.org/LICENSE.txt for license information.4// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception5//6//===----------------------------------------------------------------------===//7//8// This file contains support for writing WebAssembly exception info into asm9// files.10//11//===----------------------------------------------------------------------===//1213#ifndef LLVM_LIB_CODEGEN_ASMPRINTER_WASMEXCEPTION_H14#define LLVM_LIB_CODEGEN_ASMPRINTER_WASMEXCEPTION_H1516#include "EHStreamer.h"1718namespace llvm {19class AsmPrinter;20class MachineFunction;21struct LandingPadInfo;22template <typename T> class SmallVectorImpl;2324class LLVM_LIBRARY_VISIBILITY WasmException : public EHStreamer {25public:26WasmException(AsmPrinter *A) : EHStreamer(A) {}2728void endModule() override;29void beginFunction(const MachineFunction *MF) override {}30void endFunction(const MachineFunction *MF) override;3132protected:33// Compute the call site table for wasm EH.34void computeCallSiteTable(35SmallVectorImpl<CallSiteEntry> &CallSites,36SmallVectorImpl<CallSiteRange> &CallSiteRanges,37const SmallVectorImpl<const LandingPadInfo *> &LandingPads,38const SmallVectorImpl<unsigned> &FirstActions) override;39};4041} // End of namespace llvm4243#endif444546