LLVM: llvm::GEPNoWrapFlags Class Reference (original) (raw)
Represents flags for the getelementptr instruction/expression. More...
#include "[llvm/IR/GEPNoWrapFlags.h](GEPNoWrapFlags%5F8h%5Fsource.html)"
| 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). | |
| GEPNoWrapFlags | intersectForReassociate (GEPNoWrapFlags Other) const |
| Given (gep (gep p, x), y), determine the nowrap flags for (gep (gep, p, y), x). | |
| 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:
- inbounds (implies nusw)
- nusw (no unsigned signed wrap)
- nuw (no unsigned wrap) See LangRef for a description of their semantics.
Definition at line 26 of file GEPNoWrapFlags.h.
| llvm::GEPNoWrapFlags::GEPNoWrapFlags ( ) | inline |
|---|
Definition at line 40 of file GEPNoWrapFlags.h.
Referenced by all(), fromRaw(), inBounds(), none(), noUnsignedSignedWrap(), noUnsignedWrap(), operator&(), operator|(), withoutInBounds(), withoutNoUnsignedSignedWrap(), and withoutNoUnsignedWrap().
◆ GEPNoWrapFlags() [2/2]
| llvm::GEPNoWrapFlags::GEPNoWrapFlags ( bool IsInBounds) | inline |
|---|
◆ all()
◆ fromRaw()
◆ getRaw()
| unsigned llvm::GEPNoWrapFlags::getRaw ( ) const | inline |
|---|
◆ hasNoUnsignedSignedWrap()
| bool llvm::GEPNoWrapFlags::hasNoUnsignedSignedWrap ( ) const | inline |
|---|
◆ hasNoUnsignedWrap()
| bool llvm::GEPNoWrapFlags::hasNoUnsignedWrap ( ) const | inline |
|---|
◆ inBounds()
Definition at line 50 of file GEPNoWrapFlags.h.
References GEPNoWrapFlags().
Referenced by canonicalizeGEPOfConstGEPI8(), 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(), llvm::ConstantExpr::getInBoundsGetElementPtr(), llvm::ConstantExpr::getInBoundsGetElementPtr(), mapFromLLVMGEPNoWrapFlags(), llvm::GetElementPtrInst::setIsInBounds(), and toGEPNoWrapFlags().
◆ intersectForOffsetAdd()
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(), combineConstantOffsets(), llvm::decomposeLinearExpression(), and getMergedGEPNoWrapFlags().
◆ intersectForReassociate()
◆ isInBounds()
| bool llvm::GEPNoWrapFlags::isInBounds ( ) const | inline |
|---|
◆ none()
Definition at line 46 of file GEPNoWrapFlags.h.
References GEPNoWrapFlags().
Referenced by canonicalizeGEPOfConstGEPI8(), llvm::IRBuilderBase::CreateConstGEP1_32(), llvm::IRBuilderBase::CreateConstGEP1_64(), llvm::IRBuilderBase::CreateConstGEP2_32(), llvm::IRBuilderBase::CreateConstGEP2_64(), llvm::IRBuilderBase::CreateGEP(), llvm::VPlanTransforms::createInterleaveGroups(), llvm::IRBuilderBase::CreatePtrAdd(), llvm::VPBuilder::createPtrAdd(), llvm::VPBuilder::createWidePtrAdd(), decomposeGEP(), llvm::VPIRFlags::dropPoisonGeneratingFlags(), llvm::InstCombinerImpl::foldGEPICmp(), llvm::ScalarEvolution::getGEPExpr(), llvm::ConstantExpr::getGetElementPtr(), llvm::ConstantExpr::getGetElementPtr(), llvm::Operator::hasPoisonGeneratingFlags(), intersectForReassociate(), llvm::PoisonFlags::PoisonFlags(), and llvm::InstCombinerImpl::visitGetElementPtrInst().
◆ noUnsignedSignedWrap()
| GEPNoWrapFlags llvm::GEPNoWrapFlags::noUnsignedSignedWrap ( ) | inlinestatic |
|---|
◆ noUnsignedWrap()
◆ operator!=()
◆ operator&()
◆ operator&=()
◆ operator==()
◆ operator|()
◆ operator|=()
◆ withoutInBounds()
◆ withoutNoUnsignedSignedWrap()
| GEPNoWrapFlags llvm::GEPNoWrapFlags::withoutNoUnsignedSignedWrap ( ) const | inline |
|---|
◆ withoutNoUnsignedWrap()
| GEPNoWrapFlags llvm::GEPNoWrapFlags::withoutNoUnsignedWrap ( ) const | inline |
|---|
The documentation for this class was generated from the following file:
- include/llvm/IR/GEPNoWrapFlags.h