LLVM  8.0.1
Namespaces | Typedefs | Enumerations | Functions
EHPersonalities.h File Reference
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/TinyPtrVector.h"
#include "llvm/ADT/Triple.h"
#include "llvm/Support/ErrorHandling.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.

Namespaces

 llvm
 This class represents lattice values for constants.
 

Typedefs

typedef TinyPtrVector< BasicBlock * > llvm::ColorVector
 

Enumerations

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_Win64SEH, llvm::EHPersonality::MSVC_CXX, llvm::EHPersonality::CoreCLR, llvm::EHPersonality::Rust,
  llvm::EHPersonality::Wasm_CXX
}
 

Functions

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...