class Evaluator::MutableValue

Declaration

class Evaluator::MutableValue { /* full declaration omitted */ };

Description

The evaluator represents values either as a Constant*, or as a MutableAggregate, which allows changing individual aggregate elements without creating a new interned Constant.

Declared at: llvm/include/llvm/Transforms/Utils/Evaluator.h:43

Member Variables

private PointerUnion<llvm::Constant*, llvm::Evaluator::MutableAggregate*> Val

Method Overview

  • public MutableValue(llvm::Constant * C)
  • public MutableValue(const llvm::Evaluator::MutableValue &)
  • public MutableValue(llvm::Evaluator::MutableValue && Other)
  • private void clear()
  • public llvm::Type * getType() const
  • private bool makeMutable()
  • public llvm::Constant * read(llvm::Type * Ty, llvm::APInt Offset, const llvm::DataLayout & DL) const
  • public llvm::Constant * toConstant() const
  • public bool write(llvm::Constant * V, llvm::APInt Offset, const llvm::DataLayout & DL)
  • public ~MutableValue()

Methods

MutableValue(llvm::Constant* C)

Declared at: llvm/include/llvm/Transforms/Utils/Evaluator.h:49

Parameters

llvm::Constant* C

MutableValue(const llvm::Evaluator::MutableValue&)

Declared at: llvm/include/llvm/Transforms/Utils/Evaluator.h:50

Parameters

const llvm::Evaluator::MutableValue&

MutableValue(
    llvm::Evaluator::MutableValue&& Other)

Declared at: llvm/include/llvm/Transforms/Utils/Evaluator.h:51

Parameters

llvm::Evaluator::MutableValue&& Other

void clear()

Declared at: llvm/include/llvm/Transforms/Utils/Evaluator.h:45

llvm::Type* getType() const

Declared at: llvm/include/llvm/Transforms/Utils/Evaluator.h:57

bool makeMutable()

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

llvm::Constant* read(
    llvm::Type* Ty,
    llvm::APInt Offset,
    const llvm::DataLayout& DL) const

Declared at: llvm/include/llvm/Transforms/Utils/Evaluator.h:69

Parameters

llvm::Type* Ty
llvm::APInt Offset
const llvm::DataLayout& DL

llvm::Constant* toConstant() const

Declared at: llvm/include/llvm/Transforms/Utils/Evaluator.h:63

bool write(llvm::Constant* V,
           llvm::APInt Offset,
           const llvm::DataLayout& DL)

Declared at: llvm/include/llvm/Transforms/Utils/Evaluator.h:70

Parameters

llvm::Constant* V
llvm::APInt Offset
const llvm::DataLayout& DL

~MutableValue()

Declared at: llvm/include/llvm/Transforms/Utils/Evaluator.h:55