class ObjectSizeOffsetVisitor

Declaration

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

Description

Evaluate the size and offset of an object pointed to by a Value* statically. Fails if size or offset are not known at compile time.

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

Inherits from: InstVisitor

Method Overview

Methods

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

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

Parameters

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

static bool bothKnown(
    const llvm::SizeOffsetType& SizeOffset)

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

Parameters

const llvm::SizeOffsetType& SizeOffset

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

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

Parameters

llvm::Value* V

static bool knownOffset(
    const llvm::SizeOffsetType& SizeOffset)

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

Parameters

const llvm::SizeOffsetType& SizeOffset

static bool knownSize(
    const llvm::SizeOffsetType& SizeOffset)

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

Parameters

const llvm::SizeOffsetType& SizeOffset

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

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

Parameters

llvm::AllocaInst& I

llvm::SizeOffsetType visitArgument(
    llvm::Argument& A)

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

Parameters

llvm::Argument& A

llvm::SizeOffsetType visitCallSite(
    llvm::CallSite CS)

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

Parameters

llvm::CallSite CS

llvm::SizeOffsetType visitConstantPointerNull(
    llvm::ConstantPointerNull&)

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

Parameters

llvm::ConstantPointerNull&

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

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

Parameters

llvm::ExtractElementInst& I

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

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

Parameters

llvm::ExtractValueInst& I

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

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

Parameters

llvm::GEPOperator& GEP

llvm::SizeOffsetType visitGlobalAlias(
    llvm::GlobalAlias& GA)

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

Parameters

llvm::GlobalAlias& GA

llvm::SizeOffsetType visitGlobalVariable(
    llvm::GlobalVariable& GV)

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

Parameters

llvm::GlobalVariable& GV

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

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

Parameters

llvm::Instruction& I

llvm::SizeOffsetType visitIntToPtrInst(
    llvm::IntToPtrInst&)

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

Parameters

llvm::IntToPtrInst&

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

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

Parameters

llvm::LoadInst& I

llvm::SizeOffsetType visitPHINode(llvm::PHINode&)

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

Parameters

llvm::PHINode&

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

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

Parameters

llvm::SelectInst& I

llvm::SizeOffsetType visitUndefValue(
    llvm::UndefValue&)

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

Parameters

llvm::UndefValue&