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 = {})
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)
bool anyKnown(llvm::SizeOffsetEvalType SizeOffset)
Declared at: llvm/include/llvm/Analysis/MemoryBuiltins.h:322
Parameters
- llvm::SizeOffsetEvalType SizeOffset
¶bool bothKnown(
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)
llvm::SizeOffsetEvalType compute(llvm::Value* V)
Declared at: llvm/include/llvm/Analysis/MemoryBuiltins.h:312
Parameters
- llvm::Value* V
¶bool knownOffset(
llvm::SizeOffsetEvalType SizeOffset)
bool knownOffset(
llvm::SizeOffsetEvalType SizeOffset)
Declared at: llvm/include/llvm/Analysis/MemoryBuiltins.h:318
Parameters
- llvm::SizeOffsetEvalType SizeOffset
¶bool knownSize(
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()
static llvm::SizeOffsetEvalType unknown()
Declared at: llvm/include/llvm/Analysis/MemoryBuiltins.h:305
¶llvm::SizeOffsetEvalType visitAllocaInst(
llvm::AllocaInst& I)
llvm::SizeOffsetEvalType visitAllocaInst(
llvm::AllocaInst& I)
Declared at: llvm/include/llvm/Analysis/MemoryBuiltins.h:331
Parameters
¶llvm::SizeOffsetEvalType visitCallSite(
llvm::CallSite CS)
llvm::SizeOffsetEvalType visitCallSite(
llvm::CallSite CS)
Declared at: llvm/include/llvm/Analysis/MemoryBuiltins.h:332
Parameters
¶llvm::SizeOffsetEvalType visitExtractElementInst(
llvm::ExtractElementInst& I)
llvm::SizeOffsetEvalType visitExtractElementInst(
llvm::ExtractElementInst& I)
Declared at: llvm/include/llvm/Analysis/MemoryBuiltins.h:333
Parameters
¶llvm::SizeOffsetEvalType visitExtractValueInst(
llvm::ExtractValueInst& I)
llvm::SizeOffsetEvalType visitExtractValueInst(
llvm::ExtractValueInst& I)
Declared at: llvm/include/llvm/Analysis/MemoryBuiltins.h:334
Parameters
¶llvm::SizeOffsetEvalType visitGEPOperator(
llvm::GEPOperator& GEP)
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)
llvm::SizeOffsetEvalType visitInstruction(
llvm::Instruction& I)
Declared at: llvm/include/llvm/Analysis/MemoryBuiltins.h:340
Parameters
¶llvm::SizeOffsetEvalType visitIntToPtrInst(
llvm::IntToPtrInst&)
llvm::SizeOffsetEvalType visitIntToPtrInst(
llvm::IntToPtrInst&)
Declared at: llvm/include/llvm/Analysis/MemoryBuiltins.h:336
Parameters
¶llvm::SizeOffsetEvalType visitLoadInst(
llvm::LoadInst& I)
llvm::SizeOffsetEvalType visitLoadInst(
llvm::LoadInst& I)
Declared at: llvm/include/llvm/Analysis/MemoryBuiltins.h:337
Parameters
¶llvm::SizeOffsetEvalType visitPHINode(
llvm::PHINode& PHI)
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)
llvm::SizeOffsetEvalType visitSelectInst(
llvm::SelectInst& I)
Declared at: llvm/include/llvm/Analysis/MemoryBuiltins.h:339