LLVM 20.0.0git
|
Represents flags for the getelementptr instruction/expression. More...
#include "llvm/IR/GEPNoWrapFlags.h"
Public Member Functions | |
GEPNoWrapFlags () | |
GEPNoWrapFlags (bool IsInBounds) | |
unsigned | getRaw () const |
bool | isInBounds () const |
bool | hasNoUnsignedSignedWrap () const |
bool | hasNoUnsignedWrap () const |
GEPNoWrapFlags | withoutInBounds () const |
GEPNoWrapFlags | withoutNoUnsignedSignedWrap () const |
GEPNoWrapFlags | withoutNoUnsignedWrap () const |
GEPNoWrapFlags | intersectForOffsetAdd (GEPNoWrapFlags Other) const |
Given (gep (gep p, x), y), determine the nowrap flags for (gep p, x+y). | |
bool | operator== (GEPNoWrapFlags Other) const |
bool | operator!= (GEPNoWrapFlags Other) const |
GEPNoWrapFlags | operator& (GEPNoWrapFlags Other) const |
GEPNoWrapFlags | operator| (GEPNoWrapFlags Other) const |
GEPNoWrapFlags & | operator&= (GEPNoWrapFlags Other) |
GEPNoWrapFlags & | operator|= (GEPNoWrapFlags Other) |
Static Public Member Functions | |
static GEPNoWrapFlags | none () |
static GEPNoWrapFlags | all () |
static GEPNoWrapFlags | inBounds () |
static GEPNoWrapFlags | noUnsignedSignedWrap () |
static GEPNoWrapFlags | noUnsignedWrap () |
static GEPNoWrapFlags | fromRaw (unsigned Flags) |
Represents flags for the getelementptr instruction/expression.
The following flags are supported:
Definition at line 26 of file GEPNoWrapFlags.h.
|
inline |
Definition at line 40 of file GEPNoWrapFlags.h.
Referenced by all(), fromRaw(), inBounds(), none(), noUnsignedSignedWrap(), noUnsignedWrap(), operator&(), operator|(), withoutInBounds(), withoutNoUnsignedSignedWrap(), and withoutNoUnsignedWrap().
|
inline |
Definition at line 43 of file GEPNoWrapFlags.h.
|
inlinestatic |
Definition at line 47 of file GEPNoWrapFlags.h.
References GEPNoWrapFlags().
|
inlinestatic |
Definition at line 58 of file GEPNoWrapFlags.h.
References GEPNoWrapFlags().
Referenced by llvm::GEPOperator::getNoWrapFlags().
|
inline |
Definition at line 61 of file GEPNoWrapFlags.h.
Referenced by llvm::ConstantExpr::getGetElementPtr(), and llvm::GetElementPtrInst::setNoWrapFlags().
|
inline |
Definition at line 64 of file GEPNoWrapFlags.h.
Referenced by llvm::InstCombinerImpl::foldGEPICmp(), llvm::ScalarEvolution::getGEPExpr(), llvm::GEPOperator::hasNoUnsignedSignedWrap(), intersectForOffsetAdd(), mapToLLVMGEPNoWrapFlags(), llvm::VPRecipeWithIRFlags::printFlags(), and rewriteGEPAsOffset().
|
inline |
Definition at line 65 of file GEPNoWrapFlags.h.
Referenced by llvm::InstCombinerImpl::foldGEPICmp(), llvm::ScalarEvolution::getGEPExpr(), llvm::GEPOperator::hasNoUnsignedWrap(), mapToLLVMGEPNoWrapFlags(), llvm::InstCombinerImpl::OptimizePointerDifference(), llvm::BasicAAResult::DecomposedGEP::print(), llvm::VPRecipeWithIRFlags::printFlags(), and rewriteGEPAsOffset().
|
inlinestatic |
Definition at line 50 of file GEPNoWrapFlags.h.
References GEPNoWrapFlags().
Referenced by llvm::IRBuilderBase::CreateConstInBoundsGEP1_32(), llvm::IRBuilderBase::CreateConstInBoundsGEP1_64(), llvm::IRBuilderBase::CreateConstInBoundsGEP2_32(), llvm::IRBuilderBase::CreateConstInBoundsGEP2_64(), llvm::GetElementPtrInst::CreateInBounds(), llvm::IRBuilderBase::CreateInBoundsGEP(), llvm::IRBuilderBase::CreateInBoundsPtrAdd(), llvm::IRBuilderBase::CreateStructGEP(), llvm::ConstantExpr::getInBoundsGetElementPtr(), mapFromLLVMGEPNoWrapFlags(), llvm::GetElementPtrInst::setIsInBounds(), and toGEPNoWrapFlags().
|
inline |
Given (gep (gep p, x), y), determine the nowrap flags for (gep p, x+y).
Definition at line 78 of file GEPNoWrapFlags.h.
References hasNoUnsignedSignedWrap(), isInBounds(), llvm::Other, and withoutNoUnsignedSignedWrap().
Referenced by canRewriteGEPAsOffset(), and getMergedGEPNoWrapFlags().
|
inline |
Definition at line 63 of file GEPNoWrapFlags.h.
Referenced by intersectForOffsetAdd(), llvm::GEPOperator::isInBounds(), mapToLLVMGEPNoWrapFlags(), llvm::InstCombinerImpl::OptimizePointerDifference(), llvm::BasicAAResult::DecomposedGEP::print(), and llvm::VPRecipeWithIRFlags::printFlags().
|
inlinestatic |
Definition at line 46 of file GEPNoWrapFlags.h.
References GEPNoWrapFlags().
Referenced by llvm::IRBuilderBase::CreateConstGEP1_32(), llvm::IRBuilderBase::CreateConstGEP1_64(), llvm::IRBuilderBase::CreateConstGEP2_64(), decomposeGEP(), llvm::VPRecipeWithIRFlags::dropPoisonGeneratingFlags(), llvm::InstCombinerImpl::foldGEPICmp(), llvm::ScalarEvolution::getGEPExpr(), llvm::Operator::hasPoisonGeneratingFlags(), and llvm::PoisonFlags::PoisonFlags().
|
inlinestatic |
Definition at line 53 of file GEPNoWrapFlags.h.
References GEPNoWrapFlags().
Referenced by mapFromLLVMGEPNoWrapFlags(), and toGEPNoWrapFlags().
|
inlinestatic |
Definition at line 56 of file GEPNoWrapFlags.h.
References GEPNoWrapFlags().
Referenced by llvm::IRBuilderBase::CreateStructGEP(), mapFromLLVMGEPNoWrapFlags(), llvm::refineInstruction(), toGEPNoWrapFlags(), and llvm::InstCombinerImpl::visitGetElementPtrInst().
|
inline |
Definition at line 88 of file GEPNoWrapFlags.h.
References llvm::Other.
|
inline |
Definition at line 90 of file GEPNoWrapFlags.h.
References GEPNoWrapFlags(), and llvm::Other.
|
inline |
Definition at line 96 of file GEPNoWrapFlags.h.
References llvm::Other.
|
inline |
Definition at line 87 of file GEPNoWrapFlags.h.
References llvm::Other.
|
inline |
Definition at line 93 of file GEPNoWrapFlags.h.
References GEPNoWrapFlags(), and llvm::Other.
|
inline |
Definition at line 100 of file GEPNoWrapFlags.h.
References llvm::Other.
|
inline |
Definition at line 67 of file GEPNoWrapFlags.h.
References GEPNoWrapFlags().
Referenced by llvm::GetElementPtrInst::setIsInBounds().
|
inline |
Definition at line 70 of file GEPNoWrapFlags.h.
References GEPNoWrapFlags().
Referenced by intersectForOffsetAdd(), and llvm::InstCombinerImpl::visitGEPOfGEP().
|
inline |
Definition at line 73 of file GEPNoWrapFlags.h.
References GEPNoWrapFlags().
Referenced by llvm::InstCombinerImpl::visitGEPOfGEP().