class BasicExpression

Declaration

class BasicExpression : public Expression { /* full declaration omitted */ };

Declared at: llvm/include/llvm/Transforms/Scalar/GVNExpression.h:136

Inherits from: Expression

Member Variables

private llvm::Value** Operands = nullptr
private unsigned int MaxOperands
private unsigned int NumOperands = 0
private llvm::Type* ValueType = nullptr

Method Overview

  • public BasicExpression(unsigned int NumOperands, llvm::GVNExpression::ExpressionType ET)
  • public BasicExpression()
  • public BasicExpression(const llvm::GVNExpression::BasicExpression &)
  • public BasicExpression(unsigned int NumOperands)
  • public void allocateOperands(llvm::GVNExpression::BasicExpression::RecyclerType & Recycler, llvm::BumpPtrAllocator & Allocator)
  • public static bool classof(const llvm::GVNExpression::Expression * EB)
  • public void deallocateOperands(llvm::GVNExpression::BasicExpression::RecyclerType & Recycler)
  • public bool equals(const llvm::GVNExpression::Expression & Other) const
  • public llvm::hash_code getHashValue() const
  • public unsigned int getNumOperands() const
  • public llvm::Value * getOperand(unsigned int N) const
  • public llvm::Type * getType() const
  • public llvm::GVNExpression::BasicExpression::const_op_iterator op_begin() const
  • public llvm::GVNExpression::BasicExpression::op_iterator op_begin()
  • public bool op_empty() const
  • public llvm::GVNExpression::BasicExpression::const_op_iterator op_end() const
  • public llvm::GVNExpression::BasicExpression::op_iterator op_end()
  • public void op_push_back(llvm::Value * Arg)
  • public iterator_range<llvm::GVNExpression::BasicExpression::op_iterator> operands()
  • public iterator_range<llvm::GVNExpression::BasicExpression::const_op_iterator> operands() const
  • public void printInternal(llvm::raw_ostream & OS, bool PrintEType) const
  • public void setOperand(unsigned int N, llvm::Value * V)
  • public void setType(llvm::Type * T)
  • public void swapOperands(unsigned int First, unsigned int Second)
  • public ~BasicExpression()

Inherited from Expression:

Methods

BasicExpression(
    unsigned int NumOperands,
    llvm::GVNExpression::ExpressionType ET)

Declared at: llvm/include/llvm/Transforms/Scalar/GVNExpression.h:149

Parameters

unsigned int NumOperands
llvm::GVNExpression::ExpressionType ET

BasicExpression()

Declared at: llvm/include/llvm/Transforms/Scalar/GVNExpression.h:151

BasicExpression(
    const llvm::GVNExpression::BasicExpression&)

Declared at: llvm/include/llvm/Transforms/Scalar/GVNExpression.h:152

Parameters

const llvm::GVNExpression::BasicExpression&

BasicExpression(unsigned int NumOperands)

Declared at: llvm/include/llvm/Transforms/Scalar/GVNExpression.h:147

Parameters

unsigned int NumOperands

void allocateOperands(
    llvm::GVNExpression::BasicExpression::
        RecyclerType& Recycler,
    llvm::BumpPtrAllocator& Allocator)

Declared at: llvm/include/llvm/Transforms/Scalar/GVNExpression.h:202

Parameters

llvm::GVNExpression::BasicExpression:: RecyclerType& Recycler
llvm::BumpPtrAllocator& Allocator

static bool classof(
    const llvm::GVNExpression::Expression* EB)

Declared at: llvm/include/llvm/Transforms/Scalar/GVNExpression.h:156

Parameters

const llvm::GVNExpression::Expression* EB

void deallocateOperands(
    llvm::GVNExpression::BasicExpression::
        RecyclerType& Recycler)

Declared at: llvm/include/llvm/Transforms/Scalar/GVNExpression.h:206

Parameters

llvm::GVNExpression::BasicExpression:: RecyclerType& Recycler

bool equals(const llvm::GVNExpression::Expression&
                Other) const

Declared at: llvm/include/llvm/Transforms/Scalar/GVNExpression.h:213

Parameters

const llvm::GVNExpression::Expression& Other

llvm::hash_code getHashValue() const

Declared at: llvm/include/llvm/Transforms/Scalar/GVNExpression.h:222

unsigned int getNumOperands() const

Declared at: llvm/include/llvm/Transforms/Scalar/GVNExpression.h:179

llvm::Value* getOperand(unsigned int N) const

Declared at: llvm/include/llvm/Transforms/Scalar/GVNExpression.h:167

Parameters

unsigned int N

llvm::Type* getType() const

Declared at: llvm/include/llvm/Transforms/Scalar/GVNExpression.h:211

llvm::GVNExpression::BasicExpression::
    const_op_iterator
    op_begin() const

Declared at: llvm/include/llvm/Transforms/Scalar/GVNExpression.h:186

llvm::GVNExpression::BasicExpression::op_iterator
op_begin()

Declared at: llvm/include/llvm/Transforms/Scalar/GVNExpression.h:184

bool op_empty() const

Declared at: llvm/include/llvm/Transforms/Scalar/GVNExpression.h:200

llvm::GVNExpression::BasicExpression::
    const_op_iterator
    op_end() const

Declared at: llvm/include/llvm/Transforms/Scalar/GVNExpression.h:187

llvm::GVNExpression::BasicExpression::op_iterator
op_end()

Declared at: llvm/include/llvm/Transforms/Scalar/GVNExpression.h:185

void op_push_back(llvm::Value* Arg)

Declared at: llvm/include/llvm/Transforms/Scalar/GVNExpression.h:195

Parameters

llvm::Value* Arg

iterator_range<llvm::GVNExpression::
                   BasicExpression::op_iterator>
operands()

Declared at: llvm/include/llvm/Transforms/Scalar/GVNExpression.h:188

iterator_range<
    llvm::GVNExpression::BasicExpression::
        const_op_iterator>
operands() const

Declared at: llvm/include/llvm/Transforms/Scalar/GVNExpression.h:191

void printInternal(llvm::raw_ostream& OS,
                   bool PrintEType) const

Declared at: llvm/include/llvm/Transforms/Scalar/GVNExpression.h:228

Parameters

llvm::raw_ostream& OS
bool PrintEType

void setOperand(unsigned int N, llvm::Value* V)

Declared at: llvm/include/llvm/Transforms/Scalar/GVNExpression.h:173

Parameters

unsigned int N
llvm::Value* V

void setType(llvm::Type* T)

Declared at: llvm/include/llvm/Transforms/Scalar/GVNExpression.h:210

Parameters

llvm::Type* T

void swapOperands(unsigned int First,
                  unsigned int Second)

Description

Swap two operands. Used during GVN to put commutative operands in order.

Declared at: llvm/include/llvm/Transforms/Scalar/GVNExpression.h:163

Parameters

unsigned int First
unsigned int Second

~BasicExpression()

Declared at: llvm/include/llvm/Transforms/Scalar/GVNExpression.h:154