LLVM 22.0.0git
EHPersonalities.h File Reference

Go to the source code of this file.

Namespaces

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

Typedefs

typedef TinyPtrVector< BasicBlock * > llvm::ColorVector

Enumerations

enum class  llvm::EHPersonality {
  llvm::Unknown , llvm::GNU_Ada , llvm::GNU_C , llvm::GNU_C_SjLj ,
  llvm::GNU_CXX , llvm::GNU_CXX_SjLj , llvm::GNU_ObjC , llvm::MSVC_X86SEH ,
  llvm::MSVC_TableSEH , llvm::MSVC_CXX , llvm::CoreCLR , llvm::Rust ,
  llvm::Wasm_CXX , llvm::XL_CXX , llvm::ZOS_CXX
}

Functions

LLVM_ABI EHPersonality llvm::classifyEHPersonality (const Value *Pers)
 See if the given exception handling personality function is one that we understand.
LLVM_ABI StringRef llvm::getEHPersonalityName (EHPersonality Pers)
LLVM_ABI EHPersonality llvm::getDefaultEHPersonality (const Triple &T)
bool llvm::isAsynchronousEHPersonality (EHPersonality Pers)
 Returns true if this personality function catches asynchronous exceptions.
bool llvm::isFuncletEHPersonality (EHPersonality Pers)
 Returns true if this is a personality function that invokes handler funclets (which must return to it).
bool llvm::isScopedEHPersonality (EHPersonality Pers)
 Returns true if this personality uses scope-style EH IR instructions: catchswitch, catchpad/ret, and cleanuppad/ret.
bool llvm::isNoOpWithoutInvoke (EHPersonality Pers)
 Return true if this personality may be safely removed if there are no invoke instructions remaining in the current function.
LLVM_ABI bool llvm::canSimplifyInvokeNoUnwind (const Function *F)
LLVM_ABI DenseMap< BasicBlock *, ColorVectorllvm::colorEHFunclets (Function &F)
 If an EH funclet personality is in use (see isFuncletEHPersonality), this will recompute which blocks are in which funclet.