Static Value-Flow Analysis
Classes | Typedefs | Functions
llvm Namespace Reference

Classes

class  generic_bridge_gep_type_iterator
 

Typedefs

typedef generic_bridge_gep_type_iterator bridge_gep_iterator
 

Functions

bridge_gep_iterator bridge_gep_begin (const User *GEP)
 
bridge_gep_iterator bridge_gep_end (const User *GEP)
 
bridge_gep_iterator bridge_gep_begin (const User &GEP)
 
bridge_gep_iterator bridge_gep_end (const User &GEP)
 
template<typename T >
generic_bridge_gep_type_iterator< const T * > bridge_gep_end (Type *, ArrayRef< T > A)
 

Typedef Documentation

◆ bridge_gep_iterator

Definition at line 147 of file GEPTypeBridgeIterator.h.

Function Documentation

◆ bridge_gep_begin() [1/2]

bridge_gep_iterator llvm::bridge_gep_begin ( const User &  GEP)
inline

Definition at line 162 of file GEPTypeBridgeIterator.h.

163 {
164  auto &GEPOp = llvm::cast<GEPOperator>(GEP);
165  return bridge_gep_iterator::begin( GEPOp.getSourceElementType(),
166  llvm::cast<PointerType>(GEPOp.getPointerOperandType()->getScalarType())->getAddressSpace(),
167  GEP.op_begin() + 1);
168 }

◆ bridge_gep_begin() [2/2]

bridge_gep_iterator llvm::bridge_gep_begin ( const User *  GEP)
inline

Definition at line 149 of file GEPTypeBridgeIterator.h.

150 {
151  auto *GEPOp = llvm::cast<GEPOperator>(GEP);
152  return bridge_gep_iterator::begin(GEPOp->getSourceElementType(),
153  llvm::cast<PointerType>(GEPOp->getPointerOperandType()->getScalarType())->getAddressSpace(),
154  GEP->op_begin() + 1);
155 }

◆ bridge_gep_end() [1/3]

bridge_gep_iterator llvm::bridge_gep_end ( const User &  GEP)
inline

Definition at line 170 of file GEPTypeBridgeIterator.h.

171 {
172  return bridge_gep_iterator::end(GEP.op_end());
173 }

◆ bridge_gep_end() [2/3]

bridge_gep_iterator llvm::bridge_gep_end ( const User *  GEP)
inline

Definition at line 157 of file GEPTypeBridgeIterator.h.

158 {
159  return bridge_gep_iterator::end(GEP->op_end());
160 }

◆ bridge_gep_end() [3/3]

template<typename T >
generic_bridge_gep_type_iterator<const T*> llvm::bridge_gep_end ( Type *  ,
ArrayRef< T >  A 
)
inline

Definition at line 176 of file GEPTypeBridgeIterator.h.

177 {
178  return generic_bridge_gep_type_iterator<const T*>::end(A.end());
179 }