pub struct PMConfig {Show 13 fields
pub print_before_all: bool,
pub print_after_all: bool,
pub ir_printing_dir: Option<PathBuf>,
pub print_before: HSet<String>,
pub print_after: HSet<String>,
pub verify_before_all: bool,
pub verify_after_all: bool,
pub verify_before: HSet<String>,
pub verify_after: HSet<String>,
pub time_all_passes: bool,
pub time_passes: HSet<String>,
pub skip_passes: HSet<String>,
pub custom_config: HMap<Identifier, Box<dyn Any>>,
}Expand description
PassManager configuration.
Fields§
§print_before_all: boolIf true, print the IR before running each pass.
print_after_all: boolIf true, print the IR after running each pass.
ir_printing_dir: Option<PathBuf>Directory to place printed IR files before and after passes. The directory is created (including parents) if it doesn’t exist.
print_before: HSet<String>Set of pass names for which to print the IR before execution.
print_after: HSet<String>Set of pass names for which to print the IR after execution.
verify_before_all: boolIf true, verify the IR before running each pass.
verify_after_all: boolIf true, verify the IR after running each pass.
verify_before: HSet<String>Set of pass names for which to verify the IR before execution.
verify_after: HSet<String>Set of pass names for which to verify the IR after execution.
time_all_passes: boolIf true, time the execution of each pass.
time_passes: HSet<String>Set of pass names for which to time the execution.
skip_passes: HSet<String>Set of pass names to skip execution.
custom_config: HMap<Identifier, Box<dyn Any>>Custom configuration for extensibility.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for PMConfig
impl !Send for PMConfig
impl !Sync for PMConfig
impl !UnwindSafe for PMConfig
impl Freeze for PMConfig
impl Unpin for PMConfig
impl UnsafeUnpin for PMConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more