A cache of @llvm.assume calls within a function.

Synopsis

Declared in <llvm/Analysis/AssumptionCache.h>

class AssumptionCache;

Description

This cache provides fast lookup of assumptions within a function by caching them and amortizing the cost of scanning for them across all queries. Passes that create new assumptions are required to call registerAssumption() to register any new @llvm.assume calls that they create. Deletions of @llvm.assume calls do not require special handling.

Types

Name

Description

ResultElem

An assumption and the Index that relates it to an affected value.

Enums

Name

Description

Unnamed enum

Sentinel Index values used by ResultElem.

Member Functions

Name

Description

AssumptionCache [constructor]

Construct an AssumptionCache from a function by scanning all of its instructions.

assumptions

Access the list of assumption handles currently tracked for this function.

assumptionsFor

Access the list of assumptions which affect this value.

clear

Clear the cache of @llvm.assume intrinsics for a function.

invalidate

This cache is designed to be self‐updating and so it should never be invalidated.

registerAssumption

Add an @llvm.assume intrinsic to this function's cache.

replaceAssumption

Replace the assumption referenced by Handle (must be a valid handle for a registered assumption) with New.

unregisterAssumption

Remove an @llvm.assume intrinsic from this function's cache if it has been added to the cache earlier.

updateAffectedValues

Update the cache of values being affected by this assumption (i.e. the values about which this assumption provides information).

Static Member Functions

Name

Description

findValuesAffectedByOperandBundle

Determine which values are affected by this assume operand bundle.

Friends

Name

Description

llvm::AssumptionCache::AffectedValueCallbackVH

Created with MrDocs