LLVM
15.0.0git
lib
CodeGen
AsmPrinter
WasmException.h
Go to the documentation of this file.
1
//===-- WasmException.h - Wasm Exception Framework -------------*- C++ -*--===//
2
//
3
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
// See https://llvm.org/LICENSE.txt for license information.
5
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
//
7
//===----------------------------------------------------------------------===//
8
//
9
// This file contains support for writing WebAssembly exception info into asm
10
// files.
11
//
12
//===----------------------------------------------------------------------===//
13
14
#ifndef LLVM_LIB_CODEGEN_ASMPRINTER_WASMEXCEPTION_H
15
#define LLVM_LIB_CODEGEN_ASMPRINTER_WASMEXCEPTION_H
16
17
#include "
EHStreamer.h
"
18
19
namespace
llvm
{
20
class
AsmPrinter;
21
class
MachineFunction;
22
struct
LandingPadInfo;
23
template
<
typename
T>
class
SmallVectorImpl;
24
25
class
LLVM_LIBRARY_VISIBILITY
WasmException
:
public
EHStreamer
{
26
public
:
27
WasmException
(
AsmPrinter
*A) :
EHStreamer
(A) {}
28
29
void
endModule()
override
;
30
void
beginFunction
(
const
MachineFunction
*MF)
override
{}
31
virtual
void
markFunctionEnd()
override
;
32
void
endFunction(
const
MachineFunction
*MF)
override
;
33
34
protected
:
35
// Compute the call site table for wasm EH.
36
void
computeCallSiteTable(
37
SmallVectorImpl<CallSiteEntry>
&CallSites,
38
SmallVectorImpl<CallSiteRange>
&CallSiteRanges,
39
const
SmallVectorImpl<const LandingPadInfo *>
&LandingPads,
40
const
SmallVectorImpl<unsigned>
&FirstActions)
override
;
41
};
42
43
}
// End of namespace llvm
44
45
#endif
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition:
AddressRanges.h:17
llvm::EHStreamer
Emits exception handling directives.
Definition:
EHStreamer.h:30
llvm::WasmException
Definition:
WasmException.h:25
EHStreamer.h
llvm::WasmException::WasmException
WasmException(AsmPrinter *A)
Definition:
WasmException.h:27
llvm::MachineFunction
Definition:
MachineFunction.h:257
LLVM_LIBRARY_VISIBILITY
#define LLVM_LIBRARY_VISIBILITY
LLVM_LIBRARY_VISIBILITY - If a class marked with this attribute is linked into a shared library,...
Definition:
Compiler.h:125
llvm::AsmPrinter
This class is intended to be used as a driving class for all asm writers.
Definition:
AsmPrinter.h:81
llvm::SmallVectorImpl
This class consists of common code factored out of the SmallVector class to reduce code duplication b...
Definition:
APFloat.h:42
llvm::WasmException::beginFunction
void beginFunction(const MachineFunction *MF) override
Gather pre-function debug information.
Definition:
WasmException.h:30
Generated on Fri Jul 1 2022 12:47:13 for LLVM by
1.8.17