| LLVM 22.0.0git
    | 
Evaluate the size and offset of an object pointed to by a Value*. More...
#include "llvm/Analysis/MemoryBuiltins.h"
| Static Public Member Functions | |
| static SizeOffsetValue | unknown () | 
Evaluate the size and offset of an object pointed to by a Value*.
May create code to compute the result at run-time.
Definition at line 345 of file MemoryBuiltins.h.
| ObjectSizeOffsetEvaluator::ObjectSizeOffsetEvaluator | ( | const DataLayout & | DL, | 
| const TargetLibraryInfo * | TLI, | ||
| LLVMContext & | Context, | ||
| ObjectSizeOpts | EvalOpts = {} ) | 
Definition at line 1233 of file MemoryBuiltins.cpp.
References I.
| SizeOffsetValue ObjectSizeOffsetEvaluator::compute | ( | Value * | V | ) | 
Definition at line 1245 of file MemoryBuiltins.cpp.
References llvm::cast(), llvm::PoisonValue::get(), and I.
Referenced by getBoundsCheckCond(), and llvm::lowerObjectSizeCall().
| 
 | inlinestatic | 
Definition at line 371 of file MemoryBuiltins.h.
Referenced by llvm::lowerObjectSizeCall(), visitAllocaInst(), visitCallBase(), visitExtractElementInst(), visitExtractValueInst(), visitGEPOperator(), visitInstruction(), visitIntToPtrInst(), visitLoadInst(), visitPHINode(), and visitSelectInst().
| SizeOffsetValue ObjectSizeOffsetEvaluator::visitAllocaInst | ( | AllocaInst & | I | ) | 
Definition at line 1332 of file MemoryBuiltins.cpp.
References assert(), llvm::Value::getType(), I, Size, and unknown().
| SizeOffsetValue ObjectSizeOffsetEvaluator::visitCallBase | ( | CallBase & | CB | ) | 
Definition at line 1353 of file MemoryBuiltins.cpp.
References getAllocationSize(), llvm::CallBase::getArgOperand(), Size, StrDupLike, and unknown().
| SizeOffsetValue ObjectSizeOffsetEvaluator::visitExtractElementInst | ( | ExtractElementInst & | I | ) | 
Definition at line 1376 of file MemoryBuiltins.cpp.
References unknown().
| SizeOffsetValue ObjectSizeOffsetEvaluator::visitExtractValueInst | ( | ExtractValueInst & | I | ) | 
Definition at line 1381 of file MemoryBuiltins.cpp.
References unknown().
| SizeOffsetValue ObjectSizeOffsetEvaluator::visitGEPOperator | ( | GEPOperator & | GEP | ) | 
Definition at line 1385 of file MemoryBuiltins.cpp.
References llvm::SizeOffsetType< T, C >::bothKnown(), llvm::emitGEPOffset(), GEP, llvm::Offset, llvm::SizeOffsetType< T, C >::Offset, llvm::SizeOffsetType< T, C >::Size, and unknown().
| SizeOffsetValue ObjectSizeOffsetEvaluator::visitInstruction | ( | Instruction & | I | ) | 
Definition at line 1463 of file MemoryBuiltins.cpp.
References llvm::dbgs(), I, LLVM_DEBUG, and unknown().
| SizeOffsetValue ObjectSizeOffsetEvaluator::visitIntToPtrInst | ( | IntToPtrInst & | ) | 
Definition at line 1395 of file MemoryBuiltins.cpp.
References unknown().
| SizeOffsetValue ObjectSizeOffsetEvaluator::visitLoadInst | ( | LoadInst & | I | ) | 
Definition at line 1400 of file MemoryBuiltins.cpp.
References unknown().
| SizeOffsetValue ObjectSizeOffsetEvaluator::visitPHINode | ( | PHINode & | PHI | ) | 
Definition at line 1404 of file MemoryBuiltins.cpp.
References llvm::PHINode::addIncoming(), llvm::SizeOffsetType< T, C >::bothKnown(), llvm::Instruction::eraseFromParent(), llvm::PoisonValue::get(), llvm::BasicBlock::getFirstInsertionPt(), llvm::PHINode::hasConstantValue(), llvm::Offset, llvm::SizeOffsetType< T, C >::Offset, PHI, llvm::Value::replaceAllUsesWith(), Size, llvm::SizeOffsetType< T, C >::Size, and unknown().
| SizeOffsetValue ObjectSizeOffsetEvaluator::visitSelectInst | ( | SelectInst & | I | ) | 
Definition at line 1447 of file MemoryBuiltins.cpp.
References llvm::SizeOffsetType< T, C >::bothKnown(), I, llvm::Offset, llvm::SizeOffsetType< T, C >::Offset, Size, llvm::SizeOffsetType< T, C >::Size, and unknown().