LLVM: include/llvm/CodeGen/WasmEHFuncInfo.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13#ifndef LLVM_CODEGEN_WASMEHFUNCINFO_H
14#define LLVM_CODEGEN_WASMEHFUNCINFO_H
15
19
20namespace llvm {
21
25
29
31
33
34
37
38
47 for (const auto P : Set)
49 return Ret;
50 }
61
71 for (const auto P : Set)
73 return Ret;
74 }
85};
86
87
89
90}
91
92#endif
assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")
This file defines the DenseMap class.
This file defines the PointerUnion class, which is a discriminated union of pointer types.
This file defines the SmallPtrSet class.
LLVM Basic Block Representation.
A discriminated union of two or more pointer types, with the discriminator in the low bit of the poin...
std::pair< iterator, bool > insert(PtrType Ptr)
Inserts Ptr if and only if there is no element in the container equal to Ptr.
SmallPtrSet - This class implements a set which is optimized for holding SmallSize or less elements.
Definition WasmEHFuncInfo.h:26
Tag
Definition WasmEHFuncInfo.h:27
@ CPP_EXCEPTION
Definition WasmEHFuncInfo.h:27
@ C_LONGJMP
Definition WasmEHFuncInfo.h:27
This is an optimization pass for GlobalISel generic memory operations.
void calculateWasmEHInfo(const Function *F, WasmEHFuncInfo &EHInfo)
decltype(auto) cast(const From &Val)
cast - Return the argument parameter cast to the specified type.
PointerUnion< const BasicBlock *, MachineBasicBlock * > BBOrMBB
Definition WasmEHFuncInfo.h:30
Definition WasmEHFuncInfo.h:32
SmallPtrSet< const BasicBlock *, 4 > getUnwindSrcs(const BasicBlock *BB) const
Definition WasmEHFuncInfo.h:43
DenseMap< BBOrMBB, SmallPtrSet< BBOrMBB, 4 > > UnwindDestToSrcs
Definition WasmEHFuncInfo.h:36
const BasicBlock * getUnwindDest(const BasicBlock *BB) const
Definition WasmEHFuncInfo.h:39
bool hasUnwindSrcs(const BasicBlock *BB) const
Definition WasmEHFuncInfo.h:58
bool hasUnwindDest(MachineBasicBlock *MBB) const
Definition WasmEHFuncInfo.h:79
SmallPtrSet< MachineBasicBlock *, 4 > getUnwindSrcs(MachineBasicBlock *MBB) const
Definition WasmEHFuncInfo.h:67
void setUnwindDest(MachineBasicBlock *MBB, MachineBasicBlock *Dest)
Definition WasmEHFuncInfo.h:75
bool hasUnwindSrcs(MachineBasicBlock *MBB) const
Definition WasmEHFuncInfo.h:82
void setUnwindDest(const BasicBlock *BB, const BasicBlock *Dest)
Definition WasmEHFuncInfo.h:51
MachineBasicBlock * getUnwindDest(MachineBasicBlock *MBB) const
Definition WasmEHFuncInfo.h:62
bool hasUnwindDest(const BasicBlock *BB) const
Definition WasmEHFuncInfo.h:55
DenseMap< BBOrMBB, BBOrMBB > SrcToUnwindDest
Definition WasmEHFuncInfo.h:35