LLVM  17.0.0git
Namespaces | Typedefs | Enumerations | Functions
EHPersonalities.h File Reference
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/TinyPtrVector.h"
Include dependency graph for EHPersonalities.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.


 This is an optimization pass for GlobalISel generic memory operations.


typedef TinyPtrVector< BasicBlock * > llvm::ColorVector


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


EHPersonality llvm::classifyEHPersonality (const Value *Pers)
 See if the given exception handling personality function is one that we understand. More...
StringRef llvm::getEHPersonalityName (EHPersonality Pers)
EHPersonality llvm::getDefaultEHPersonality (const Triple &T)
bool llvm::isAsynchronousEHPersonality (EHPersonality Pers)
 Returns true if this personality function catches asynchronous exceptions. More...
bool llvm::isFuncletEHPersonality (EHPersonality Pers)
 Returns true if this is a personality function that invokes handler funclets (which must return to it). More...
bool llvm::isScopedEHPersonality (EHPersonality Pers)
 Returns true if this personality uses scope-style EH IR instructions: catchswitch, catchpad/ret, and cleanuppad/ret. More...
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. More...
bool llvm::canSimplifyInvokeNoUnwind (const Function *F)
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. More...