class CleanupReturnInst

Declaration

class CleanupReturnInst : public Instruction { /* full declaration omitted */ };

Description

LLVM Value Representation This is a very important LLVM class. It is the base class of all values computed by a program that may be used as operands to other values. Value is the super class of other important classes such as Instruction and Function. All Values have a Type. Type is not a subclass of Value. Some values can have a name and they belong to some Module. Setting the name on the Value automatically updates the module's symbol table. Every value has a "use list" that keeps track of which other Values are using this Value. A Value can also have an arbitrary number of ValueHandle objects that watch it and listen to RAUW and Destroy events. See llvm/IR/ValueHandle.h for details.

Declared at: llvm/include/llvm/IR/Instructions.h:4630

Inherits from: Instruction

Member Variables

Inherited from Value:

protected SubclassOptionalData
protected NumUserOperands
protected IsUsedByMD
protected HasName
protected HasMetadata
protected HasHungOffUses
protected HasDescriptor
public static MaxAlignmentExponent = 32
public static MaximumAlignment = 1ULL << MaxAlignmentExponent

Method Overview

  • private CleanupReturnInst(llvm::Value * CleanupPad, llvm::BasicBlock * UnwindBB, unsigned int Values, llvm::Instruction * InsertBefore = nullptr)
  • private CleanupReturnInst(llvm::Value * CleanupPad, llvm::BasicBlock * UnwindBB, unsigned int Values, llvm::BasicBlock * InsertAtEnd)
  • private CleanupReturnInst(const llvm::CleanupReturnInst & RI)
  • public static llvm::CleanupReturnInst * Create(llvm::Value * CleanupPad, llvm::BasicBlock * UnwindBB = nullptr, llvm::Instruction * InsertBefore = nullptr)
  • public static llvm::CleanupReturnInst * Create(llvm::Value * CleanupPad, llvm::BasicBlock * UnwindBB, llvm::BasicBlock * InsertAtEnd)
  • public static bool classof(const llvm::Value * V)
  • public static bool classof(const llvm::Instruction * I)
  • protected llvm::CleanupReturnInst * cloneImpl() const
  • public llvm::CleanupPadInst * getCleanupPad() const
  • public unsigned int getNumSuccessors() const
  • private llvm::BasicBlock * getSuccessor(unsigned int Idx) const
  • public llvm::BasicBlock * getUnwindDest() const
  • public bool hasUnwindDest() const
  • private void init(llvm::Value * CleanupPad, llvm::BasicBlock * UnwindBB)
  • public void setCleanupPad(llvm::CleanupPadInst * CleanupPad)
  • private template <typename Bitfield>void setSubclassData(typename Bitfield::Type Value)
  • private void setSuccessor(unsigned int Idx, llvm::BasicBlock * B)
  • public void setUnwindDest(llvm::BasicBlock * NewDest)
  • public bool unwindsToCaller() const

Inherited from Instruction:

Inherited from User:

Inherited from Value:

Methods

CleanupReturnInst(
    llvm::Value* CleanupPad,
    llvm::BasicBlock* UnwindBB,
    unsigned int Values,
    llvm::Instruction* InsertBefore = nullptr)

Declared at: llvm/include/llvm/IR/Instructions.h:4635

Parameters

llvm::Value* CleanupPad
llvm::BasicBlock* UnwindBB
unsigned int Values
llvm::Instruction* InsertBefore = nullptr

CleanupReturnInst(llvm::Value* CleanupPad,
                  llvm::BasicBlock* UnwindBB,
                  unsigned int Values,
                  llvm::BasicBlock* InsertAtEnd)

Declared at: llvm/include/llvm/IR/Instructions.h:4637

Parameters

llvm::Value* CleanupPad
llvm::BasicBlock* UnwindBB
unsigned int Values
llvm::BasicBlock* InsertAtEnd

CleanupReturnInst(
    const llvm::CleanupReturnInst& RI)

Declared at: llvm/include/llvm/IR/Instructions.h:4634

Parameters

const llvm::CleanupReturnInst& RI

static llvm::CleanupReturnInst* Create(
    llvm::Value* CleanupPad,
    llvm::BasicBlock* UnwindBB = nullptr,
    llvm::Instruction* InsertBefore = nullptr)

Declared at: llvm/include/llvm/IR/Instructions.h:4649

Parameters

llvm::Value* CleanupPad
llvm::BasicBlock* UnwindBB = nullptr
llvm::Instruction* InsertBefore = nullptr

static llvm::CleanupReturnInst* Create(
    llvm::Value* CleanupPad,
    llvm::BasicBlock* UnwindBB,
    llvm::BasicBlock* InsertAtEnd)

Declared at: llvm/include/llvm/IR/Instructions.h:4660

Parameters

llvm::Value* CleanupPad
llvm::BasicBlock* UnwindBB
llvm::BasicBlock* InsertAtEnd

static bool classof(const llvm::Value* V)

Declared at: llvm/include/llvm/IR/Instructions.h:4700

Parameters

const llvm::Value* V

static bool classof(const llvm::Instruction* I)

Declared at: llvm/include/llvm/IR/Instructions.h:4697

Parameters

const llvm::Instruction* I

llvm::CleanupReturnInst* cloneImpl() const

Declared at: llvm/include/llvm/IR/Instructions.h:4646

llvm::CleanupPadInst* getCleanupPad() const

Description

Convenience accessor.

Declared at: llvm/include/llvm/IR/Instructions.h:4677

unsigned int getNumSuccessors() const

Declared at: llvm/include/llvm/IR/Instructions.h:4685

llvm::BasicBlock* getSuccessor(
    unsigned int Idx) const

Declared at: llvm/include/llvm/IR/Instructions.h:4705

Parameters

unsigned int Idx

llvm::BasicBlock* getUnwindDest() const

Declared at: llvm/include/llvm/IR/Instructions.h:4687

bool hasUnwindDest() const

Declared at: llvm/include/llvm/IR/Instructions.h:4673

void init(llvm::Value* CleanupPad,
          llvm::BasicBlock* UnwindBB)

Declared at: llvm/include/llvm/IR/Instructions.h:4640

Parameters

llvm::Value* CleanupPad
llvm::BasicBlock* UnwindBB

void setCleanupPad(
    llvm::CleanupPadInst* CleanupPad)

Declared at: llvm/include/llvm/IR/Instructions.h:4680

Parameters

llvm::CleanupPadInst* CleanupPad

template <typename Bitfield>
void setSubclassData(
    typename Bitfield::Type Value)

Declared at: llvm/include/llvm/IR/Instructions.h:4718

Templates

Bitfield

Parameters

typename Bitfield::Type Value

void setSuccessor(unsigned int Idx,
                  llvm::BasicBlock* B)

Declared at: llvm/include/llvm/IR/Instructions.h:4710

Parameters

unsigned int Idx
llvm::BasicBlock* B

void setUnwindDest(llvm::BasicBlock* NewDest)

Declared at: llvm/include/llvm/IR/Instructions.h:4690

Parameters

llvm::BasicBlock* NewDest

bool unwindsToCaller() const

Declared at: llvm/include/llvm/IR/Instructions.h:4674