LLVM 22.0.0git
WinEHFuncInfo.h File Reference
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/PointerUnion.h"
#include "llvm/ADT/SmallVector.h"
#include <cstdint>
#include <limits>
#include <utility>

Go to the source code of this file.

Classes

struct  llvm::CxxUnwindMapEntry
struct  llvm::SEHUnwindMapEntry
 Similar to CxxUnwindMapEntry, but supports SEH filters. More...
struct  llvm::WinEHHandlerType
struct  llvm::WinEHTryBlockMapEntry
struct  llvm::ClrEHUnwindMapEntry
struct  llvm::WinEHFuncInfo

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.

Typedefs

using llvm::MBBOrBasicBlock = PointerUnion<const BasicBlock *, MachineBasicBlock *>

Enumerations

enum class  llvm::ClrHandlerType { llvm::Catch , llvm::Finally , llvm::Fault , llvm::Filter }

Functions

void llvm::calculateWinCXXEHStateNumbers (const Function *ParentFn, WinEHFuncInfo &FuncInfo)
 Analyze the IR in ParentFn and it's handlers to build WinEHFuncInfo, which describes the state numbers and tables used by __CxxFrameHandler3.
void llvm::calculateSEHStateNumbers (const Function *ParentFn, WinEHFuncInfo &FuncInfo)
void llvm::calculateClrEHStateNumbers (const Function *Fn, WinEHFuncInfo &FuncInfo)
void llvm::calculateCXXStateForAsynchEH (const BasicBlock *BB, int State, WinEHFuncInfo &FuncInfo)
void llvm::calculateSEHStateForAsynchEH (const BasicBlock *BB, int State, WinEHFuncInfo &FuncInfo)