Class PassContextObj#

Inheritance Relationships#

Base Type#

  • public ffi::Object

Class Documentation#

class PassContextObj : public ffi::Object#

PassContextObj contains the information that a pass can rely on, such as analysis results.

See also

PassContext

Public Functions

PassContextObj() = default#
template<typename T>
inline ffi::Optional<T> GetConfig(const std::string &key) const#

Get a config value, returning an empty optional when the key is absent.

Parameters:

key – The config key.

Template Parameters:

T – The expected value type.

Throws:

Error – if the key exists but the value does not match T.

template<typename TConfig>
inline TConfig GetConfigOrDefault(const std::string &key) const#

Get a config object, constructing reflection defaults only when absent.

Parameters:

key – The config key.

Template Parameters:

TConfig – The ObjectRef config type with reflection-defined defaults.

Returns:

The configured object, or a fresh default object for this call.

Public Members

int opt_level = {2}#

The default optimization level.

ffi::Array<ffi::String> required_pass#

The list of required passes.

ffi::Array<ffi::String> disabled_pass#

The list of disabled passes.

ffi::Map<ffi::String, Any> config#

Pass specific configurations.

ffi::Array<PassInstrument> instruments#

A list of pass instrument implementations.

Public Static Functions

static inline void RegisterReflection()#
static inline int32_t _GetOrAllocRuntimeTypeIndex()#
static inline int32_t RuntimeTypeIndex() noexcept#