class EscapeEnumerator

Declaration

class EscapeEnumerator { /* full declaration omitted */ };

Description

EscapeEnumerator - This is a little algorithm to find all escape points from a function so that "finally"-style code can be inserted. In addition to finding the existing return and unwind instructions, it also (if necessary) transforms any call instructions into invokes and sends them to a landing pad.

Declared at: llvm/include/llvm/Transforms/Utils/EscapeEnumerator.h:29

Member Variables

private llvm::Function& F
private const char* CleanupBBName
private Function::iterator StateBB
private Function::iterator StateE
private IRBuilder<> Builder
private bool Done = false
private bool HandleExceptions
private llvm::DomTreeUpdater* DTU

Method Overview

  • public EscapeEnumerator(llvm::Function & F, const char * N = "cleanup", bool HandleExceptions = true, llvm::DomTreeUpdater * DTU = nullptr)
  • public IRBuilder<> * Next()

Methods

EscapeEnumerator(
    llvm::Function& F,
    const char* N = "cleanup",
    bool HandleExceptions = true,
    llvm::DomTreeUpdater* DTU = nullptr)

Declared at: llvm/include/llvm/Transforms/Utils/EscapeEnumerator.h:41

Parameters

llvm::Function& F
const char* N = "cleanup"
bool HandleExceptions = true
llvm::DomTreeUpdater* DTU = nullptr

IRBuilder<>* Next()

Declared at: llvm/include/llvm/Transforms/Utils/EscapeEnumerator.h:46