LLVM API Documentation

Public Member Functions
llvm::ObjectSizeOffsetVisitor Class Reference

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

#include <MemoryBuiltins.h>

Inheritance diagram for llvm::ObjectSizeOffsetVisitor:
Inheritance graph
[legend]
Collaboration diagram for llvm::ObjectSizeOffsetVisitor:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 ObjectSizeOffsetVisitor (const DataLayout *TD, const TargetLibraryInfo *TLI, LLVMContext &Context, bool RoundToAlign=false)
SizeOffsetType compute (Value *V)
bool knownSize (SizeOffsetType &SizeOffset)
bool knownOffset (SizeOffsetType &SizeOffset)
bool bothKnown (SizeOffsetType &SizeOffset)
SizeOffsetType visitAllocaInst (AllocaInst &I)
SizeOffsetType visitArgument (Argument &A)
SizeOffsetType visitCallSite (CallSite CS)
SizeOffsetType visitConstantPointerNull (ConstantPointerNull &)
SizeOffsetType visitExtractElementInst (ExtractElementInst &I)
SizeOffsetType visitExtractValueInst (ExtractValueInst &I)
SizeOffsetType visitGEPOperator (GEPOperator &GEP)
SizeOffsetType visitGlobalAlias (GlobalAlias &GA)
SizeOffsetType visitGlobalVariable (GlobalVariable &GV)
SizeOffsetType visitIntToPtrInst (IntToPtrInst &)
SizeOffsetType visitLoadInst (LoadInst &I)
SizeOffsetType visitPHINode (PHINode &)
SizeOffsetType visitSelectInst (SelectInst &I)
SizeOffsetType visitUndefValue (UndefValue &)
SizeOffsetType visitInstruction (Instruction &I)

Detailed Description

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

Definition at line 155 of file MemoryBuiltins.h.


Constructor & Destructor Documentation

ObjectSizeOffsetVisitor::ObjectSizeOffsetVisitor ( const DataLayout TD,
const TargetLibraryInfo TLI,
LLVMContext Context,
bool  RoundToAlign = false 
)

Member Function Documentation

bool llvm::ObjectSizeOffsetVisitor::bothKnown ( SizeOffsetType SizeOffset) [inline]

Definition at line 185 of file MemoryBuiltins.h.

References knownOffset(), and knownSize().

Referenced by visitGEPOperator(), and visitSelectInst().

SizeOffsetType ObjectSizeOffsetVisitor::compute ( Value V)
bool llvm::ObjectSizeOffsetVisitor::knownOffset ( SizeOffsetType SizeOffset) [inline]

Definition at line 181 of file MemoryBuiltins.h.

Referenced by bothKnown().

bool llvm::ObjectSizeOffsetVisitor::knownSize ( SizeOffsetType SizeOffset) [inline]

Definition at line 177 of file MemoryBuiltins.h.

Referenced by bothKnown().

SizeOffsetType ObjectSizeOffsetVisitor::visitAllocaInst ( AllocaInst I)
SizeOffsetType ObjectSizeOffsetVisitor::visitArgument ( Argument A)
SizeOffsetType ObjectSizeOffsetVisitor::visitCallSite ( CallSite  CS)
SizeOffsetType ObjectSizeOffsetVisitor::visitConstantPointerNull ( ConstantPointerNull )

Definition at line 505 of file MemoryBuiltins.cpp.

Referenced by compute().

SizeOffsetType ObjectSizeOffsetVisitor::visitExtractElementInst ( ExtractElementInst I)

Definition at line 510 of file MemoryBuiltins.cpp.

SizeOffsetType ObjectSizeOffsetVisitor::visitExtractValueInst ( ExtractValueInst I)

Definition at line 515 of file MemoryBuiltins.cpp.

SizeOffsetType ObjectSizeOffsetVisitor::visitGEPOperator ( GEPOperator GEP)
SizeOffsetType ObjectSizeOffsetVisitor::visitGlobalAlias ( GlobalAlias GA)
SizeOffsetType ObjectSizeOffsetVisitor::visitGlobalVariable ( GlobalVariable GV)
SizeOffsetType ObjectSizeOffsetVisitor::visitInstruction ( Instruction I)

Definition at line 570 of file MemoryBuiltins.cpp.

References llvm::dbgs(), and DEBUG.

SizeOffsetType ObjectSizeOffsetVisitor::visitIntToPtrInst ( IntToPtrInst )

Definition at line 543 of file MemoryBuiltins.cpp.

SizeOffsetType ObjectSizeOffsetVisitor::visitLoadInst ( LoadInst I)

Definition at line 548 of file MemoryBuiltins.cpp.

SizeOffsetType ObjectSizeOffsetVisitor::visitPHINode ( PHINode )

Definition at line 553 of file MemoryBuiltins.cpp.

SizeOffsetType ObjectSizeOffsetVisitor::visitSelectInst ( SelectInst I)
SizeOffsetType ObjectSizeOffsetVisitor::visitUndefValue ( UndefValue )

Definition at line 566 of file MemoryBuiltins.cpp.

Referenced by compute().


The documentation for this class was generated from the following files: