LLVM API Documentation

Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

llvm::PAListPtr Class Reference

#include <ParameterAttributes.h>

Collaboration diagram for llvm::PAListPtr:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 PAListPtr ()
 PAListPtr (const PAListPtr &P)
const PAListPtroperator= (const PAListPtr &RHS)
 ~PAListPtr ()
PAListPtr addAttr (unsigned Idx, ParameterAttributes Attrs) const
PAListPtr removeAttr (unsigned Idx, ParameterAttributes Attrs) const
ParameterAttributes getParamAttrs (unsigned Idx) const
bool paramHasAttr (unsigned Idx, ParameterAttributes Attr) const
unsigned getParamAlignment (unsigned Idx) const
bool hasAttrSomewhere (ParameterAttributes Attr) const
bool operator== (const PAListPtr &RHS) const
 operator==/!= - Provide equality predicates.
bool operator!= (const PAListPtr &RHS) const
void dump () const
void * getRawPointer () const
bool isEmpty () const
unsigned getNumSlots () const
const ParamAttrsWithIndexgetSlot (unsigned Slot) const

Static Public Member Functions

PAListPtr get (const ParamAttrsWithIndex *Attr, unsigned NumAttrs)
 get - Return a ParamAttrs list with the specified parameter in it.
template<typename Iter>
PAListPtr get (const Iter &I, const Iter &E)

Detailed Description

PAListPtr - This class manages the ref count for the opaque ParamAttributeListImpl object and provides accessors for it.

Definition at line 105 of file ParameterAttributes.h.


Constructor & Destructor Documentation

llvm::PAListPtr::PAListPtr  )  [inline]
 

Definition at line 110 of file ParameterAttributes.h.

Referenced by get(), and removeAttr().

PAListPtr::PAListPtr const PAListPtr P  ) 
 

Definition at line 156 of file ParameterAttributes.cpp.

References llvm::ParamAttributeListImpl::AddRef().

PAListPtr::~PAListPtr  ) 
 

Definition at line 168 of file ParameterAttributes.cpp.

References llvm::ParamAttributeListImpl::DropRef().


Member Function Documentation

PAListPtr PAListPtr::addAttr unsigned  Idx,
ParameterAttributes  Attrs
const
 

addAttr - Add the specified attribute at the specified index to this attribute list. Since parameter attribute lists are immutable, this returns the new list.

Definition at line 212 of file ParameterAttributes.cpp.

References llvm::ParamAttributeListImpl::Attrs, llvm::SmallVectorImpl< T >::begin(), llvm::SmallVectorImpl< T >::end(), get(), getParamAttrs(), llvm::SmallVectorImpl< T >::insert(), llvm::ParameterAttributes, llvm::SmallVectorImpl< T >::push_back(), and llvm::SmallVectorImpl< T >::size().

Referenced by llvm::InvokeInst::addParamAttr(), llvm::CallInst::addParamAttr(), llvm::Function::addParamAttr(), and PruneEH::runOnSCC().

void PAListPtr::dump  )  const
 

Definition at line 288 of file ParameterAttributes.cpp.

References llvm::ParamAttrsWithIndex::Attrs, getNumSlots(), getSlot(), and llvm::ParamAttrsWithIndex::Index.

template<typename Iter>
PAListPtr llvm::PAListPtr::get const Iter &  I,
const Iter &  E
[inline, static]
 

get - Return a ParamAttr list with the parameters specified by the consecutive random access iterator range.

Definition at line 125 of file ParameterAttributes.h.

PAListPtr PAListPtr::get const ParamAttrsWithIndex Attr,
unsigned  NumAttrs
[static]
 

get - Return a ParamAttrs list with the specified parameter in it.

Definition at line 115 of file ParameterAttributes.cpp.

References PAListPtr(), and ParamAttrsLists.

Referenced by addAttr(), and removeAttr().

unsigned PAListPtr::getNumSlots  )  const
 

getNumSlots - Return the number of slots used in this attribute list. This is the number of arguments that have an attribute set on them (including the function itself).

Definition at line 175 of file ParameterAttributes.cpp.

References llvm::ParamAttributeListImpl::Attrs, and llvm::SmallVectorImpl< T >::size().

Referenced by dump(), StripNest(), Verifier::VerifyCallSite(), Verifier::VerifyFunctionAttrs(), Verifier::visitFunction(), and WriteParamAttrTable().

unsigned llvm::PAListPtr::getParamAlignment unsigned  Idx  )  const [inline]
 

getParamAlignment - Return the alignment for the specified function parameter.

Definition at line 156 of file ParameterAttributes.h.

References llvm::Intrinsic::getParamAttrs().

Referenced by llvm::InvokeInst::getParamAlignment(), llvm::CallInst::getParamAlignment(), and llvm::Function::getParamAlignment().

ParameterAttributes PAListPtr::getParamAttrs unsigned  Idx  )  const
 

getParamAttrs - The parameter attributes for the specified parameter are returned. Parameters for the result are denoted with Idx = 0.

Definition at line 189 of file ParameterAttributes.cpp.

References llvm::ParamAttributeListImpl::Attrs, llvm::ParameterAttributes, and llvm::SmallVectorImpl< T >::size().

Referenced by addAttr(), llvm::CallSite::getParamAttrs(), removeAttr(), and Verifier::VerifyCallSite().

void* llvm::PAListPtr::getRawPointer  )  const [inline]
 

getRawPointer - Return a raw pointer that uniquely identifies this parameter attribute list.

Definition at line 176 of file ParameterAttributes.h.

Referenced by llvm::ValueEnumerator::getParamAttrID().

const ParamAttrsWithIndex & PAListPtr::getSlot unsigned  Slot  )  const
 

getSlot - Return the ParamAttrsWithIndex at the specified slot. This holds a parameter number plus a set of attributes.

Definition at line 181 of file ParameterAttributes.cpp.

References llvm::ParamAttributeListImpl::Attrs.

Referenced by dump(), StripNest(), Verifier::VerifyCallSite(), Verifier::VerifyFunctionAttrs(), Verifier::visitFunction(), and WriteParamAttrTable().

bool PAListPtr::hasAttrSomewhere ParameterAttributes  Attr  )  const
 

hasAttrSomewhere - Return true if the specified attribute is set for at least one parameter or for the return value.

Definition at line 201 of file ParameterAttributes.cpp.

References llvm::ParamAttributeListImpl::Attrs, llvm::ParameterAttributes, and llvm::SmallVectorImpl< T >::size().

Referenced by llvm::CallInst::hasByValArgument().

bool llvm::PAListPtr::isEmpty  )  const [inline]
 

isEmpty - Return true if no parameters have an attribute.

Definition at line 186 of file ParameterAttributes.h.

Referenced by llvm::ValueEnumerator::getParamAttrID(), Verifier::VerifyCallSite(), Verifier::VerifyFunctionAttrs(), and Verifier::visitFunction().

bool llvm::PAListPtr::operator!= const PAListPtr RHS  )  const [inline]
 

Definition at line 166 of file ParameterAttributes.h.

References PAList.

const PAListPtr & PAListPtr::operator= const PAListPtr RHS  ) 
 

Definition at line 160 of file ParameterAttributes.cpp.

References llvm::ParamAttributeListImpl::AddRef(), llvm::ParamAttributeListImpl::DropRef(), and PAList.

bool llvm::PAListPtr::operator== const PAListPtr RHS  )  const [inline]
 

operator==/!= - Provide equality predicates.

Definition at line 165 of file ParameterAttributes.h.

References PAList.

bool llvm::PAListPtr::paramHasAttr unsigned  Idx,
ParameterAttributes  Attr
const [inline]
 

paramHasAttr - Return true if the specified parameter index has the specified attribute set.

Definition at line 150 of file ParameterAttributes.h.

References llvm::Intrinsic::getParamAttrs().

Referenced by llvm::InvokeInst::paramHasAttr(), llvm::Function::paramHasAttr(), CWriter::printStructReturnPointerFunctionType(), and llvm::UpgradeIntrinsicCall().

PAListPtr PAListPtr::removeAttr unsigned  Idx,
ParameterAttributes  Attrs
const
 

removeAttr - Remove the specified attribute at the specified index from this attribute list. Since parameter attribute lists are immutable, this returns the new list.

Definition at line 253 of file ParameterAttributes.cpp.

References llvm::ParamAttributeListImpl::Attrs, llvm::SmallVectorImpl< T >::begin(), llvm::SmallVectorImpl< T >::end(), get(), getParamAttrs(), llvm::SmallVectorImpl< T >::insert(), PAListPtr(), llvm::ParameterAttributes, llvm::SmallVectorImpl< T >::push_back(), and llvm::SmallVectorImpl< T >::size().

Referenced by llvm::InvokeInst::removeParamAttr(), llvm::CallInst::removeParamAttr(), llvm::Function::removeParamAttr(), and StripNest().


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


This web site is hosted by the Computer Science Department at the University of Illinois at Urbana-Champaign.