LLVM 22.0.0git
llvm::LinearExpression Struct Reference

Linear expression BasePtr + Index * Scale + Offset. More...

#include "llvm/Analysis/Loads.h"

Public Member Functions

 LinearExpression (Value *BasePtr, unsigned BitWidth)

Public Attributes

ValueBasePtr
ValueIndex = nullptr
APInt Scale
APInt Offset
GEPNoWrapFlags Flags = GEPNoWrapFlags::all()

Detailed Description

Linear expression BasePtr + Index * Scale + Offset.

Index, Scale and Offset all have the same bit width, which matches the pointer index size of BasePtr. Index may be nullptr if Scale is 0.

Definition at line 203 of file Loads.h.

Constructor & Destructor Documentation

◆ LinearExpression()

llvm::LinearExpression::LinearExpression ( Value * BasePtr,
unsigned BitWidth )
inline

Definition at line 210 of file Loads.h.

References BasePtr, llvm::BitWidth, Offset, and Scale.

Member Data Documentation

◆ BasePtr

Value* llvm::LinearExpression::BasePtr

◆ Flags

GEPNoWrapFlags llvm::LinearExpression::Flags = GEPNoWrapFlags::all()

◆ Index

Value* llvm::LinearExpression::Index = nullptr

◆ Offset

APInt llvm::LinearExpression::Offset

◆ Scale

APInt llvm::LinearExpression::Scale

The documentation for this struct was generated from the following file: