class BlockAddress

Declaration

class BlockAddress : public Constant { /* full declaration omitted */ };

Description

The address of a basic block.

Declared at: llvm/include/llvm/IR/Constants.h:849

Inherits from: Constant

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 BlockAddress(llvm::Function * F, llvm::BasicBlock * BB)
  • public static bool classof(const llvm::Value * V)
  • private void destroyConstantImpl()
  • public static llvm::BlockAddress * get(llvm::Function * F, llvm::BasicBlock * BB)
  • public static llvm::BlockAddress * get(llvm::BasicBlock * BB)
  • public llvm::BasicBlock * getBasicBlock() const
  • public llvm::Function * getFunction() const
  • private llvm::Value * handleOperandChangeImpl(llvm::Value * From, llvm::Value * To)
  • public static llvm::BlockAddress * lookup(const llvm::BasicBlock * BB)

Inherited from Constant:

Inherited from User:

Inherited from Value:

Methods

BlockAddress(llvm::Function* F,
             llvm::BasicBlock* BB)

Declared at: llvm/include/llvm/IR/Constants.h:852

Parameters

llvm::Function* F
llvm::BasicBlock* BB

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

Description

Methods for support type inquiry through isa, cast, and dyn_cast:

Declared at: llvm/include/llvm/IR/Constants.h:881

Parameters

const llvm::Value* V

void destroyConstantImpl()

Declared at: llvm/include/llvm/IR/Constants.h:856

static llvm::BlockAddress* get(
    llvm::Function* F,
    llvm::BasicBlock* BB)

Description

Return a BlockAddress for the specified function and basic block.

Declared at: llvm/include/llvm/IR/Constants.h:863

Parameters

llvm::Function* F
llvm::BasicBlock* BB

static llvm::BlockAddress* get(
    llvm::BasicBlock* BB)

Description

Return a BlockAddress for the specified basic block. The basic block must be embedded into a function.

Declared at: llvm/include/llvm/IR/Constants.h:867

Parameters

llvm::BasicBlock* BB

llvm::BasicBlock* getBasicBlock() const

Declared at: llvm/include/llvm/IR/Constants.h:878

llvm::Function* getFunction() const

Declared at: llvm/include/llvm/IR/Constants.h:877

llvm::Value* handleOperandChangeImpl(
    llvm::Value* From,
    llvm::Value* To)

Declared at: llvm/include/llvm/IR/Constants.h:857

Parameters

llvm::Value* From
llvm::Value* To

static llvm::BlockAddress* lookup(
    const llvm::BasicBlock* BB)

Description

Lookup an existing \c BlockAddress constant for the given BasicBlock.

Declared at: llvm/include/llvm/IR/Constants.h:872

Parameters

const llvm::BasicBlock* BB

Returns

0 if \c !BB->hasAddressTaken(), otherwise the \c BlockAddress.