class ScalarEvolution::SCEVCallbackVH

Declaration

class ScalarEvolution::SCEVCallbackVH : public CallbackVH { /* full declaration omitted */ };

Description

A CallbackVH to arrange for ScalarEvolution to be notified whenever a Value is deleted.

Declared at: llvm/include/llvm/Analysis/ScalarEvolution.h:1212

Inherits from: CallbackVH

Member Variables

private llvm::ScalarEvolution* SE

Method Overview

Inherited from CallbackVH:

Inherited from ValueHandleBase:

Methods

SCEVCallbackVH(
    llvm::Value* V,
    llvm::ScalarEvolution* SE = nullptr)

Declared at: llvm/include/llvm/Analysis/ScalarEvolution.h:1219

Parameters

llvm::Value* V
llvm::ScalarEvolution* SE = nullptr

void allUsesReplacedWith(llvm::Value* New)

Description

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.

Declared at: llvm/include/llvm/Analysis/ScalarEvolution.h:1216

Parameters

llvm::Value* New

void deleted()

Description

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.

Declared at: llvm/include/llvm/Analysis/ScalarEvolution.h:1215