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
- public ObjectSizeOffsetVisitor(const llvm::DataLayout & DL, const llvm::TargetLibraryInfo * TLI, llvm::LLVMContext & Context, llvm::ObjectSizeOpts Options = {})
- public static bool bothKnown(const llvm::SizeOffsetType & SizeOffset)
- public llvm::SizeOffsetType compute(llvm::Value * V)
- public static bool knownOffset(const llvm::SizeOffsetType & SizeOffset)
- public static bool knownSize(const llvm::SizeOffsetType & SizeOffset)
- public llvm::SizeOffsetType visitAllocaInst(llvm::AllocaInst & I)
- public llvm::SizeOffsetType visitArgument(llvm::Argument & A)
- public llvm::SizeOffsetType visitCallSite(llvm::CallSite CS)
- public llvm::SizeOffsetType visitConstantPointerNull(llvm::ConstantPointerNull &)
- public llvm::SizeOffsetType visitExtractElementInst(llvm::ExtractElementInst & I)
- public llvm::SizeOffsetType visitExtractValueInst(llvm::ExtractValueInst & I)
- public llvm::SizeOffsetType visitGEPOperator(llvm::GEPOperator & GEP)
- public llvm::SizeOffsetType visitGlobalAlias(llvm::GlobalAlias & GA)
- public llvm::SizeOffsetType visitGlobalVariable(llvm::GlobalVariable & GV)
- public llvm::SizeOffsetType visitInstruction(llvm::Instruction & I)
- public llvm::SizeOffsetType visitIntToPtrInst(llvm::IntToPtrInst &)
- public llvm::SizeOffsetType visitLoadInst(llvm::LoadInst & I)
- public llvm::SizeOffsetType visitPHINode(llvm::PHINode &)
- public llvm::SizeOffsetType visitSelectInst(llvm::SelectInst & I)
- public llvm::SizeOffsetType visitUndefValue(llvm::UndefValue &)
Methods
¶ObjectSizeOffsetVisitor(
const llvm::DataLayout& DL,
const llvm::TargetLibraryInfo* TLI,
llvm::LLVMContext& Context,
llvm::ObjectSizeOpts Options = {})
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)
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)
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)
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)
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)
llvm::SizeOffsetType visitAllocaInst(
llvm::AllocaInst& I)
Declared at: llvm/include/llvm/Analysis/MemoryBuiltins.h:260
Parameters
¶llvm::SizeOffsetType visitArgument(
llvm::Argument& A)
llvm::SizeOffsetType visitArgument(
llvm::Argument& A)
Declared at: llvm/include/llvm/Analysis/MemoryBuiltins.h:261
Parameters
¶llvm::SizeOffsetType visitCallSite(
llvm::CallSite CS)
llvm::SizeOffsetType visitCallSite(
llvm::CallSite CS)
Declared at: llvm/include/llvm/Analysis/MemoryBuiltins.h:262
Parameters
¶llvm::SizeOffsetType visitConstantPointerNull(
llvm::ConstantPointerNull&)
llvm::SizeOffsetType visitConstantPointerNull(
llvm::ConstantPointerNull&)
Declared at: llvm/include/llvm/Analysis/MemoryBuiltins.h:263
Parameters
¶llvm::SizeOffsetType visitExtractElementInst(
llvm::ExtractElementInst& I)
llvm::SizeOffsetType visitExtractElementInst(
llvm::ExtractElementInst& I)
Declared at: llvm/include/llvm/Analysis/MemoryBuiltins.h:264
Parameters
¶llvm::SizeOffsetType visitExtractValueInst(
llvm::ExtractValueInst& I)
llvm::SizeOffsetType visitExtractValueInst(
llvm::ExtractValueInst& I)
Declared at: llvm/include/llvm/Analysis/MemoryBuiltins.h:265
Parameters
¶llvm::SizeOffsetType visitGEPOperator(
llvm::GEPOperator& GEP)
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)
llvm::SizeOffsetType visitGlobalAlias(
llvm::GlobalAlias& GA)
Declared at: llvm/include/llvm/Analysis/MemoryBuiltins.h:267
Parameters
¶llvm::SizeOffsetType visitGlobalVariable(
llvm::GlobalVariable& GV)
llvm::SizeOffsetType visitGlobalVariable(
llvm::GlobalVariable& GV)
Declared at: llvm/include/llvm/Analysis/MemoryBuiltins.h:268
Parameters
¶llvm::SizeOffsetType visitInstruction(
llvm::Instruction& I)
llvm::SizeOffsetType visitInstruction(
llvm::Instruction& I)
Declared at: llvm/include/llvm/Analysis/MemoryBuiltins.h:274
Parameters
¶llvm::SizeOffsetType visitIntToPtrInst(
llvm::IntToPtrInst&)
llvm::SizeOffsetType visitIntToPtrInst(
llvm::IntToPtrInst&)
Declared at: llvm/include/llvm/Analysis/MemoryBuiltins.h:269
Parameters
¶llvm::SizeOffsetType visitLoadInst(
llvm::LoadInst& I)
llvm::SizeOffsetType visitLoadInst(
llvm::LoadInst& I)
Declared at: llvm/include/llvm/Analysis/MemoryBuiltins.h:270
Parameters
¶llvm::SizeOffsetType visitPHINode(llvm::PHINode&)
llvm::SizeOffsetType visitPHINode(llvm::PHINode&)
Declared at: llvm/include/llvm/Analysis/MemoryBuiltins.h:271
Parameters
¶llvm::SizeOffsetType visitSelectInst(
llvm::SelectInst& I)
llvm::SizeOffsetType visitSelectInst(
llvm::SelectInst& I)
Declared at: llvm/include/llvm/Analysis/MemoryBuiltins.h:272
Parameters
¶llvm::SizeOffsetType visitUndefValue(
llvm::UndefValue&)
llvm::SizeOffsetType visitUndefValue(
llvm::UndefValue&)
Declared at: llvm/include/llvm/Analysis/MemoryBuiltins.h:273