State for dereferenceable attribute

Synopsis

Declared in <llvm/Transforms/IPO/Attributor.h>

struct DerefState
    : AbstractState

Base Classes

Name

Description

AbstractState

An interface to query the internal state of an abstract attribute.

Member Functions

Name

Description

addAccessedBytes

Add accessed bytes to the map.

computeKnownDerefBytesFromAccessedMap

Helper function to calculate dereferenceable bytes from current known bytes and accessed bytes.

indicateOptimisticFixpoint [virtual]

See AbstractState::indicateOptimisticFixpoint(...)

indicatePessimisticFixpoint [virtual]

See AbstractState::indicatePessimisticFixpoint(...)

isAtFixpoint [virtual]

See AbstractState::isAtFixpoint()

isValidState [virtual]

See AbstractState::isValidState()

operator&=

See IntegerStateBase::operator&=

operator+=

See IntegerStateBase::operator+=

operatorˆ=

See IntegerStateBase::operatorˆ=

operator|=

See IntegerStateBase::operator|=

takeAssumedDerefBytesMinimum

Update assumed dereferenceable bytes.

takeKnownDerefBytesMaximum

Update known dereferenceable bytes.

operator==

Equality for DerefState.

operator!=

Inequality for DerefState.

Static Member Functions

Name

Description

getBestState

getWorstState

Return the worst possible representable state.

Data Members

Name

Description

AccessedBytesMap

Map representing for accessed memory offsets and sizes. A key is Offset and a value is size. If there is a load/store instruction something like, p[offset]= v; (offset, sizeof(v)) will be inserted to this map. std::map is used because we want to iterate keys in ascending order.

DerefBytesState

State representing for dereferenceable bytes.

GlobalState

State representing that whether the value is globaly dereferenceable.

Created with MrDocs