llvm::lowerObjectSizeCall

Try to turn a call to @llvm.objectsize into an integer value.

Synopsis

Declared in <llvm/Analysis/MemoryBuiltins.h>

Value*
lowerObjectSizeCall(
    IntrinsicInst* ObjectSize,
    DataLayout const& DL,
    TargetLibraryInfo const* TLI,
    AAResults* AA,
    bool MustSucceed,
    SmallVectorImpl<Instruction*>* InsertedInstructions = nullptr);

Description

Returns null on failure. If MustSucceed is true, this function will not return null, and may return conservative values governed by the second argument of the call to objectsize.

Return Value

An integer Value for the object size, or nullptr on failure.

Parameters

NameDescription
ObjectSizeIntrinsic call to lower.
DLData layout used for type and pointer sizing.
TLITarget library info used to identify allocation functions.
AAOptional alias analysis results for more precise evaluation.
MustSucceedWhen true, always produce a value, possibly conservative.
InsertedInstructionsOptional list that receives any new instructions.