class ObjectSizeOffsetEvaluator

Declaration

class ObjectSizeOffsetEvaluator : public InstVisitor { /* full declaration omitted */ };

Description

Evaluate the size and offset of an object pointed to by a Value*. May create code to compute the result at run-time.

Declared at: llvm/include/llvm/Analysis/MemoryBuiltins.h:284

Inherits from: InstVisitor

Method Overview

  • public ObjectSizeOffsetEvaluator(const llvm::DataLayout & DL, const llvm::TargetLibraryInfo * TLI, llvm::LLVMContext & Context, llvm::ObjectSizeOpts EvalOpts = {})
  • public bool anyKnown(llvm::SizeOffsetEvalType SizeOffset)
  • public bool bothKnown(llvm::SizeOffsetEvalType SizeOffset)
  • public llvm::SizeOffsetEvalType compute(llvm::Value * V)
  • public bool knownOffset(llvm::SizeOffsetEvalType SizeOffset)
  • public bool knownSize(llvm::SizeOffsetEvalType SizeOffset)
  • public static llvm::SizeOffsetEvalType unknown()
  • public llvm::SizeOffsetEvalType visitAllocaInst(llvm::AllocaInst & I)
  • public llvm::SizeOffsetEvalType visitCallSite(llvm::CallSite CS)
  • public llvm::SizeOffsetEvalType visitExtractElementInst(llvm::ExtractElementInst & I)
  • public llvm::SizeOffsetEvalType visitExtractValueInst(llvm::ExtractValueInst & I)
  • public llvm::SizeOffsetEvalType visitGEPOperator(llvm::GEPOperator & GEP)
  • public llvm::SizeOffsetEvalType visitInstruction(llvm::Instruction & I)
  • public llvm::SizeOffsetEvalType visitIntToPtrInst(llvm::IntToPtrInst &)
  • public llvm::SizeOffsetEvalType visitLoadInst(llvm::LoadInst & I)
  • public llvm::SizeOffsetEvalType visitPHINode(llvm::PHINode & PHI)
  • public llvm::SizeOffsetEvalType visitSelectInst(llvm::SelectInst & I)

Methods

ObjectSizeOffsetEvaluator(
    const llvm::DataLayout& DL,
    const llvm::TargetLibraryInfo* TLI,
    llvm::LLVMContext& Context,
    llvm::ObjectSizeOpts EvalOpts = {})

Declared at: llvm/include/llvm/Analysis/MemoryBuiltins.h:309

Parameters

const llvm::DataLayout& DL
const llvm::TargetLibraryInfo* TLI
llvm::LLVMContext& Context
llvm::ObjectSizeOpts EvalOpts = {}

bool anyKnown(llvm::SizeOffsetEvalType SizeOffset)

Declared at: llvm/include/llvm/Analysis/MemoryBuiltins.h:322

Parameters

llvm::SizeOffsetEvalType SizeOffset

bool bothKnown(
    llvm::SizeOffsetEvalType SizeOffset)

Declared at: llvm/include/llvm/Analysis/MemoryBuiltins.h:326

Parameters

llvm::SizeOffsetEvalType SizeOffset

llvm::SizeOffsetEvalType compute(llvm::Value* V)

Declared at: llvm/include/llvm/Analysis/MemoryBuiltins.h:312

Parameters

llvm::Value* V

bool knownOffset(
    llvm::SizeOffsetEvalType SizeOffset)

Declared at: llvm/include/llvm/Analysis/MemoryBuiltins.h:318

Parameters

llvm::SizeOffsetEvalType SizeOffset

bool knownSize(
    llvm::SizeOffsetEvalType SizeOffset)

Declared at: llvm/include/llvm/Analysis/MemoryBuiltins.h:314

Parameters

llvm::SizeOffsetEvalType SizeOffset

static llvm::SizeOffsetEvalType unknown()

Declared at: llvm/include/llvm/Analysis/MemoryBuiltins.h:305

llvm::SizeOffsetEvalType visitAllocaInst(
    llvm::AllocaInst& I)

Declared at: llvm/include/llvm/Analysis/MemoryBuiltins.h:331

Parameters

llvm::AllocaInst& I

llvm::SizeOffsetEvalType visitCallSite(
    llvm::CallSite CS)

Declared at: llvm/include/llvm/Analysis/MemoryBuiltins.h:332

Parameters

llvm::CallSite CS

llvm::SizeOffsetEvalType visitExtractElementInst(
    llvm::ExtractElementInst& I)

Declared at: llvm/include/llvm/Analysis/MemoryBuiltins.h:333

Parameters

llvm::ExtractElementInst& I

llvm::SizeOffsetEvalType visitExtractValueInst(
    llvm::ExtractValueInst& I)

Declared at: llvm/include/llvm/Analysis/MemoryBuiltins.h:334

Parameters

llvm::ExtractValueInst& I

llvm::SizeOffsetEvalType visitGEPOperator(
    llvm::GEPOperator& GEP)

Declared at: llvm/include/llvm/Analysis/MemoryBuiltins.h:335

Parameters

llvm::GEPOperator& GEP

llvm::SizeOffsetEvalType visitInstruction(
    llvm::Instruction& I)

Declared at: llvm/include/llvm/Analysis/MemoryBuiltins.h:340

Parameters

llvm::Instruction& I

llvm::SizeOffsetEvalType visitIntToPtrInst(
    llvm::IntToPtrInst&)

Declared at: llvm/include/llvm/Analysis/MemoryBuiltins.h:336

Parameters

llvm::IntToPtrInst&

llvm::SizeOffsetEvalType visitLoadInst(
    llvm::LoadInst& I)

Declared at: llvm/include/llvm/Analysis/MemoryBuiltins.h:337

Parameters

llvm::LoadInst& I

llvm::SizeOffsetEvalType visitPHINode(
    llvm::PHINode& PHI)

Declared at: llvm/include/llvm/Analysis/MemoryBuiltins.h:338

Parameters

llvm::PHINode& PHI

llvm::SizeOffsetEvalType visitSelectInst(
    llvm::SelectInst& I)

Declared at: llvm/include/llvm/Analysis/MemoryBuiltins.h:339

Parameters

llvm::SelectInst& I