LLVM  8.0.1
Public Member Functions | List of all members
llvm::cflaa::FunctionHandle< AAResult > Struct Template Referencefinal

#include "llvm/Analysis/CFLAliasAnalysisUtils.h"

Inheritance diagram for llvm::cflaa::FunctionHandle< AAResult >:
Inheritance graph
[legend]
Collaboration diagram for llvm::cflaa::FunctionHandle< AAResult >:
Collaboration graph
[legend]

Public Member Functions

 FunctionHandle (Function *Fn, AAResult *Result)
 
void deleted () override
 Callback for Value destruction. More...
 
void allUsesReplacedWith (Value *) override
 Callback for Value RAUW. More...
 
- Public Member Functions inherited from llvm::CallbackVH
 CallbackVH ()
 
 CallbackVH (Value *P)
 
 operator Value * () const
 
- Public Member Functions inherited from llvm::ValueHandleBase
 ValueHandleBase (HandleBaseKind Kind)
 
 ValueHandleBase (HandleBaseKind Kind, Value *V)
 
 ~ValueHandleBase ()
 
Valueoperator= (Value *RHS)
 
Valueoperator= (const ValueHandleBase &RHS)
 
Valueoperator-> () const
 
Valueoperator* () const
 

Additional Inherited Members

- Static Public Member Functions inherited from llvm::ValueHandleBase
static void ValueIsDeleted (Value *V)
 
static void ValueIsRAUWd (Value *Old, Value *New)
 
- Protected Types inherited from llvm::ValueHandleBase
enum  HandleBaseKind { Assert, Callback, Weak, WeakTracking }
 This indicates what sub class the handle actually is. More...
 
- Protected Member Functions inherited from llvm::CallbackVH
 ~CallbackVH ()=default
 
 CallbackVH (const CallbackVH &)=default
 
CallbackVHoperator= (const CallbackVH &)=default
 
void setValPtr (Value *P)
 
- Protected Member Functions inherited from llvm::ValueHandleBase
 ValueHandleBase (const ValueHandleBase &RHS)
 
 ValueHandleBase (HandleBaseKind Kind, const ValueHandleBase &RHS)
 
ValuegetValPtr () const
 
void RemoveFromUseList ()
 Remove this ValueHandle from its current use list. More...
 
void clearValPtr ()
 Clear the underlying pointer without clearing the use list. More...
 
- Static Protected Member Functions inherited from llvm::ValueHandleBase
static bool isValid (Value *V)
 

Detailed Description

template<typename AAResult>
struct llvm::cflaa::FunctionHandle< AAResult >

Definition at line 24 of file CFLAliasAnalysisUtils.h.

Constructor & Destructor Documentation

◆ FunctionHandle()

template<typename AAResult >
llvm::cflaa::FunctionHandle< AAResult >::FunctionHandle ( Function Fn,
AAResult *  Result 
)
inline

Definition at line 25 of file CFLAliasAnalysisUtils.h.

References assert().

Member Function Documentation

◆ allUsesReplacedWith()

template<typename AAResult >
void llvm::cflaa::FunctionHandle< AAResult >::allUsesReplacedWith ( Value )
inlineoverridevirtual

Callback for Value RAUW.

Called when this->getValPtr()->replaceAllUsesWith(new_value) is called, before any of the uses have actually been replaced. If WeakTrackingVH were implemented as a CallbackVH, it would use this method to call setValPtr(new_value). AssertingVH would do nothing in this method.

Reimplemented from llvm::CallbackVH.

Definition at line 32 of file CFLAliasAnalysisUtils.h.

References assert(), llvm::ValueHandleBase::getValPtr(), and llvm::CallbackVH::setValPtr().

◆ deleted()

template<typename AAResult >
void llvm::cflaa::FunctionHandle< AAResult >::deleted ( )
inlineoverridevirtual

Callback for Value destruction.

Called when this->getValPtr() is destroyed, inside ~Value(), so you may call any non-virtual Value method on getValPtr(), but no subclass methods. If WeakTrackingVH were implemented as a CallbackVH, it would use this method to call setValPtr(NULL). AssertingVH would use this method to cause an assertion failure.

All implementations must remove the reference from this object to the Value that's being destroyed.

Reimplemented from llvm::CallbackVH.

Definition at line 31 of file CFLAliasAnalysisUtils.h.


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