LLVM 20.0.0git
Public Member Functions | Static Public Member Functions | List of all members
llvm::GEPNoWrapFlags Class Reference

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
 
GEPNoWrapFlagsoperator&= (GEPNoWrapFlags Other)
 
GEPNoWrapFlagsoperator|= (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)
 

Detailed Description

Represents flags for the getelementptr instruction/expression.

The following flags are supported:

Definition at line 26 of file GEPNoWrapFlags.h.

Constructor & Destructor Documentation

◆ GEPNoWrapFlags() [1/2]

llvm::GEPNoWrapFlags::GEPNoWrapFlags ( )
inline

◆ GEPNoWrapFlags() [2/2]

llvm::GEPNoWrapFlags::GEPNoWrapFlags ( bool  IsInBounds)
inline

Definition at line 43 of file GEPNoWrapFlags.h.

Member Function Documentation

◆ all()

static GEPNoWrapFlags llvm::GEPNoWrapFlags::all ( )
inlinestatic

Definition at line 47 of file GEPNoWrapFlags.h.

References GEPNoWrapFlags().

◆ fromRaw()

static GEPNoWrapFlags llvm::GEPNoWrapFlags::fromRaw ( unsigned  Flags)
inlinestatic

Definition at line 58 of file GEPNoWrapFlags.h.

References GEPNoWrapFlags().

Referenced by llvm::GEPOperator::getNoWrapFlags().

◆ getRaw()

unsigned llvm::GEPNoWrapFlags::getRaw ( ) const
inline

◆ hasNoUnsignedSignedWrap()

bool llvm::GEPNoWrapFlags::hasNoUnsignedSignedWrap ( ) const
inline

◆ hasNoUnsignedWrap()

bool llvm::GEPNoWrapFlags::hasNoUnsignedWrap ( ) const
inline

◆ inBounds()

static GEPNoWrapFlags llvm::GEPNoWrapFlags::inBounds ( )
inlinestatic

◆ intersectForOffsetAdd()

GEPNoWrapFlags llvm::GEPNoWrapFlags::intersectForOffsetAdd ( GEPNoWrapFlags  Other) const
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().

◆ isInBounds()

bool llvm::GEPNoWrapFlags::isInBounds ( ) const
inline

◆ none()

static GEPNoWrapFlags llvm::GEPNoWrapFlags::none ( )
inlinestatic

◆ noUnsignedSignedWrap()

static GEPNoWrapFlags llvm::GEPNoWrapFlags::noUnsignedSignedWrap ( )
inlinestatic

Definition at line 53 of file GEPNoWrapFlags.h.

References GEPNoWrapFlags().

Referenced by mapFromLLVMGEPNoWrapFlags(), and toGEPNoWrapFlags().

◆ noUnsignedWrap()

static GEPNoWrapFlags llvm::GEPNoWrapFlags::noUnsignedWrap ( )
inlinestatic

◆ operator!=()

bool llvm::GEPNoWrapFlags::operator!= ( GEPNoWrapFlags  Other) const
inline

Definition at line 88 of file GEPNoWrapFlags.h.

References llvm::Other.

◆ operator&()

GEPNoWrapFlags llvm::GEPNoWrapFlags::operator& ( GEPNoWrapFlags  Other) const
inline

Definition at line 90 of file GEPNoWrapFlags.h.

References GEPNoWrapFlags(), and llvm::Other.

◆ operator&=()

GEPNoWrapFlags & llvm::GEPNoWrapFlags::operator&= ( GEPNoWrapFlags  Other)
inline

Definition at line 96 of file GEPNoWrapFlags.h.

References llvm::Other.

◆ operator==()

bool llvm::GEPNoWrapFlags::operator== ( GEPNoWrapFlags  Other) const
inline

Definition at line 87 of file GEPNoWrapFlags.h.

References llvm::Other.

◆ operator|()

GEPNoWrapFlags llvm::GEPNoWrapFlags::operator| ( GEPNoWrapFlags  Other) const
inline

Definition at line 93 of file GEPNoWrapFlags.h.

References GEPNoWrapFlags(), and llvm::Other.

◆ operator|=()

GEPNoWrapFlags & llvm::GEPNoWrapFlags::operator|= ( GEPNoWrapFlags  Other)
inline

Definition at line 100 of file GEPNoWrapFlags.h.

References llvm::Other.

◆ withoutInBounds()

GEPNoWrapFlags llvm::GEPNoWrapFlags::withoutInBounds ( ) const
inline

Definition at line 67 of file GEPNoWrapFlags.h.

References GEPNoWrapFlags().

Referenced by llvm::GetElementPtrInst::setIsInBounds().

◆ withoutNoUnsignedSignedWrap()

GEPNoWrapFlags llvm::GEPNoWrapFlags::withoutNoUnsignedSignedWrap ( ) const
inline

Definition at line 70 of file GEPNoWrapFlags.h.

References GEPNoWrapFlags().

Referenced by intersectForOffsetAdd(), and llvm::InstCombinerImpl::visitGEPOfGEP().

◆ withoutNoUnsignedWrap()

GEPNoWrapFlags llvm::GEPNoWrapFlags::withoutNoUnsignedWrap ( ) const
inline

Definition at line 73 of file GEPNoWrapFlags.h.

References GEPNoWrapFlags().

Referenced by llvm::InstCombinerImpl::visitGEPOfGEP().


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