stripAndAccumulateConstantOffsets overloads
Declared in <llvm/IR/Value.h>
Accumulate constant GEP offsets from this pointer and return its base.
Value const*
stripAndAccumulateConstantOffsets(
DataLayout const& DL,
APInt& Offset,
bool AllowNonInbounds,
bool AllowInvariantGroup = false,
function_ref<bool(Value&, APInt&)> ExternalAnalysis = nullptr,
bool LookThroughIntToPtr = false) const;
» more...
Non-const overload of stripAndAccumulateConstantOffsets.
Value*
stripAndAccumulateConstantOffsets(
DataLayout const& DL,
APInt& Offset,
bool AllowNonInbounds,
bool AllowInvariantGroup = false,
function_ref<bool(Value&, APInt&)> ExternalAnalysis = nullptr,
bool LookThroughIntToPtr = false);
» more...
The base pointer value after stripping accumulated offsets.
| Name | Description |
|---|---|
| DL | Data layout used to size indices and pointers. |
| Offset | APInt that accumulates the constant byte offset. |
| AllowNonInbounds | Whether to accumulate non-inbounds GEP offsets. |
| AllowInvariantGroup | Whether to look through invariant.group intrinsics. |
| ExternalAnalysis | Optional analysis for non-constant GEP operands. |
| LookThroughIntToPtr | Whether to look through IntToPtr/PtrToInt. |