LLVM API Documentation
Functions | |
static const Value * | FindSingleUseIdentifiedObject (const Value *Arg) |
This is similar to StripPointerCastsAndObjCCalls but it stops as soon as it finds a value with multiple uses. More... | |
static bool | AreAnyUnderlyingObjectsAnAlloca (const Value *V) |
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 182 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().
This is similar to StripPointerCastsAndObjCCalls but it stops as soon as it finds a value with multiple uses.
Definition at line 148 of file ObjCARCOpts.cpp.
References llvm::objcarc::GetBasicInstructionClass(), llvm::Value::hasOneUse(), llvm::objcarc::IsForwarding(), llvm::objcarc::IsObjCIdentifiedObject(), llvm::objcarc::StripPointerCastsAndObjCCalls(), llvm::Value::use_begin(), llvm::Value::use_empty(), and llvm::Value::use_end().