LLVM API Documentation

Functions
Utility declarations/definitions specific to ARC.

Functions

static const ValueFindSingleUseIdentifiedObject (const Value *Arg)
 This is similar to StripPointerCastsAndObjCCalls but it stops as soon as it finds a value with multiple uses.
static bool DoesRetainableObjPtrEscape (const User *Ptr)
 Test whether the given retainable object pointer escapes.
static bool AreAnyUnderlyingObjectsAnAlloca (const Value *V)

Function Documentation

static bool AreAnyUnderlyingObjectsAnAlloca ( const Value V) [inline, static]

This is a wrapper around getUnderlyingObjCPtr along the lines of GetUnderlyingObjects except that it returns early when it sees the first alloca.

Definition at line 265 of file ObjCARCOpts.cpp.

References llvm::SmallVectorBase::empty(), llvm::objcarc::GetUnderlyingObjCPtr(), llvm::SmallPtrSet< PtrType, SmallSize >::insert(), P, llvm::SmallVectorImpl< T >::pop_back_val(), and llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back().

static bool DoesRetainableObjPtrEscape ( const User Ptr) [static]
static const Value* FindSingleUseIdentifiedObject ( const Value Arg) [static]