LLVM 22.0.0git
|
Linear expression BasePtr + Index * Scale + Offset. More...
#include "llvm/Analysis/Loads.h"
Public Member Functions | |
LinearExpression (Value *BasePtr, unsigned BitWidth) |
Public Attributes | |
Value * | BasePtr |
Value * | Index = nullptr |
APInt | Scale |
APInt | Offset |
GEPNoWrapFlags | Flags = GEPNoWrapFlags::all() |
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.
Value* llvm::LinearExpression::BasePtr |
Definition at line 204 of file Loads.h.
Referenced by llvm::decomposeLinearExpression(), llvm::InstCombinerImpl::foldCmpLoadFromIndexedGlobal(), and LinearExpression().
GEPNoWrapFlags llvm::LinearExpression::Flags = GEPNoWrapFlags::all() |
Definition at line 208 of file Loads.h.
Referenced by llvm::decomposeLinearExpression(), and llvm::InstCombinerImpl::foldCmpLoadFromIndexedGlobal().
Value* llvm::LinearExpression::Index = nullptr |
Definition at line 205 of file Loads.h.
Referenced by llvm::decomposeLinearExpression(), and llvm::InstCombinerImpl::foldCmpLoadFromIndexedGlobal().
APInt llvm::LinearExpression::Offset |
Definition at line 207 of file Loads.h.
Referenced by llvm::decomposeLinearExpression(), llvm::InstCombinerImpl::foldCmpLoadFromIndexedGlobal(), and LinearExpression().
APInt llvm::LinearExpression::Scale |
Definition at line 206 of file Loads.h.
Referenced by llvm::decomposeLinearExpression(), llvm::InstCombinerImpl::foldCmpLoadFromIndexedGlobal(), and LinearExpression().