Try to turn a call to @llvm.objectsize into an integer value.
Declared in <llvm/Analysis/MemoryBuiltins.h>
Value*
lowerObjectSizeCall(
IntrinsicInst* ObjectSize,
DataLayout const& DL,
TargetLibraryInfo const* TLI,
AAResults* AA,
bool MustSucceed,
SmallVectorImpl<Instruction*>* InsertedInstructions = nullptr);
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.
An integer Value for the object size, or nullptr on failure.
| Name | Description |
|---|---|
| ObjectSize | Intrinsic call to lower. |
| DL | Data layout used for type and pointer sizing. |
| TLI | Target library info used to identify allocation functions. |
| AA | Optional alias analysis results for more precise evaluation. |
| MustSucceed | When true, always produce a value, possibly conservative. |
| InsertedInstructions | Optional list that receives any new instructions. |