class FuncletPadInst

Declaration

class FuncletPadInst : 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/InstrTypes.h:2369

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 FuncletPadInst(const llvm::FuncletPadInst & CPI)
  • private FuncletPadInst(Instruction::FuncletPadOps Op, llvm::Value * ParentPad, ArrayRef<llvm::Value *> Args, unsigned int Values, const llvm::Twine & NameStr, llvm::Instruction * InsertBefore)
  • private FuncletPadInst(Instruction::FuncletPadOps Op, llvm::Value * ParentPad, ArrayRef<llvm::Value *> Args, unsigned int Values, const llvm::Twine & NameStr, llvm::BasicBlock * InsertAtEnd)
  • public llvm::User::op_range arg_operands()
  • public llvm::User::const_op_range arg_operands() const
  • public static bool classof(const llvm::Instruction * I)
  • public static bool classof(const llvm::Value * V)
  • protected llvm::FuncletPadInst * cloneImpl() const
  • public llvm::Value * getArgOperand(unsigned int i) const
  • public unsigned int getNumArgOperands() const
  • public llvm::Value * getParentPad() const
  • private void init(llvm::Value * ParentPad, ArrayRef<llvm::Value *> Args, const llvm::Twine & NameStr)
  • public void setArgOperand(unsigned int i, llvm::Value * v)
  • public void setParentPad(llvm::Value * ParentPad)

Inherited from Instruction:

Inherited from User:

Inherited from Value:

Methods

FuncletPadInst(const llvm::FuncletPadInst& CPI)

Declared at: llvm/include/llvm/IR/InstrTypes.h:2371

Parameters

const llvm::FuncletPadInst& CPI

FuncletPadInst(Instruction::FuncletPadOps Op,
               llvm::Value* ParentPad,
               ArrayRef<llvm::Value*> Args,
               unsigned int Values,
               const llvm::Twine& NameStr,
               llvm::Instruction* InsertBefore)

Declared at: llvm/include/llvm/IR/InstrTypes.h:2373

Parameters

Instruction::FuncletPadOps Op
llvm::Value* ParentPad
ArrayRef<llvm::Value*> Args
unsigned int Values
const llvm::Twine& NameStr
llvm::Instruction* InsertBefore

FuncletPadInst(Instruction::FuncletPadOps Op,
               llvm::Value* ParentPad,
               ArrayRef<llvm::Value*> Args,
               unsigned int Values,
               const llvm::Twine& NameStr,
               llvm::BasicBlock* InsertAtEnd)

Declared at: llvm/include/llvm/IR/InstrTypes.h:2376

Parameters

Instruction::FuncletPadOps Op
llvm::Value* ParentPad
ArrayRef<llvm::Value*> Args
unsigned int Values
const llvm::Twine& NameStr
llvm::BasicBlock* InsertAtEnd

llvm::User::op_range arg_operands()

Description

arg_operands - iteration adapter for range-for loops.

Declared at: llvm/include/llvm/IR/InstrTypes.h:2416

llvm::User::const_op_range arg_operands() const

Description

arg_operands - iteration adapter for range-for loops.

Declared at: llvm/include/llvm/IR/InstrTypes.h:2419

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

Declared at: llvm/include/llvm/IR/InstrTypes.h:2424

Parameters

const llvm::Instruction* I

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

Declared at: llvm/include/llvm/IR/InstrTypes.h:2425

Parameters

const llvm::Value* V

llvm::FuncletPadInst* cloneImpl() const

Declared at: llvm/include/llvm/IR/InstrTypes.h:2388

llvm::Value* getArgOperand(unsigned int i) const

Description

getArgOperand/setArgOperand - Return/set the i-th funcletpad argument.

Declared at: llvm/include/llvm/IR/InstrTypes.h:2412

Parameters

unsigned int i

unsigned int getNumArgOperands() const

Description

getNumArgOperands - Return the number of funcletpad arguments.

Declared at: llvm/include/llvm/IR/InstrTypes.h:2396

llvm::Value* getParentPad() const

Description

Return the outer EH-pad this funclet is nested within. Note: This returns the associated CatchSwitchInst if this FuncletPadInst is a CatchPadInst.

Declared at: llvm/include/llvm/IR/InstrTypes.h:2404

void init(llvm::Value* ParentPad,
          ArrayRef<llvm::Value*> Args,
          const llvm::Twine& NameStr)

Declared at: llvm/include/llvm/IR/InstrTypes.h:2380

Parameters

llvm::Value* ParentPad
ArrayRef<llvm::Value*> Args
const llvm::Twine& NameStr

void setArgOperand(unsigned int i, llvm::Value* v)

Declared at: llvm/include/llvm/IR/InstrTypes.h:2413

Parameters

unsigned int i
llvm::Value* v

void setParentPad(llvm::Value* ParentPad)

Declared at: llvm/include/llvm/IR/InstrTypes.h:2405

Parameters

llvm::Value* ParentPad