Module cretonne_codegen::settings[][src]

Shared settings module.

This module defines data structures to access the settings defined in the meta language.

Each settings group is translated to a Flags struct either in this module or in its ISA-specific settings module. The struct provides individual getter methods for all of the settings as well as computed predicate flags.

The Flags struct is immutable once it has been created. A Builder instance is used to create it.

Example

use cretonne_codegen::settings::{self, Configurable};

let mut b = settings::builder();
b.set("opt_level", "fastest");

let f = settings::Flags::new(b);
assert_eq!(f.opt_level(), settings::OptLevel::Fastest);

Modules

detail

Implementation details for generated code.

Structs

Builder

Collect settings values based on a template.

Flags

Flags group shared.

FlagsOrIsa

Wrapper containing flags and optionally a TargetIsa trait object.

PredicateView

A reference to just the boolean predicates of a settings object.

Enums

CallConv

Values for shared.call_conv.

OptLevel

Values for shared.opt_level.

SetError

An error produced when changing a setting.

Traits

Configurable

A string-based configurator for settings groups.

Functions

builder

Create a settings::Builder for the shared settings group.

Type Definitions

SetResult

A result returned when changing a setting.