pub struct CloneSpecializer { /* private fields */ }Expand description
Manages clone-and-specialize transformations, where a callee is cloned and specialized for a specific argument value, enabling better downstream optimization (constant folding, dead branch elimination).
Implementations§
Source§impl CloneSpecializer
impl CloneSpecializer
pub fn new() -> Self
Sourcepub fn specialized_name(
&mut self,
original: &str,
arg_index: usize,
val: &str,
) -> String
pub fn specialized_name( &mut self, original: &str, arg_index: usize, val: &str, ) -> String
Generate a unique specialized name for a clone.
Sourcepub fn record(&mut self, original: &str, arg_index: usize, val: &str) -> String
pub fn record(&mut self, original: &str, arg_index: usize, val: &str) -> String
Record a clone-and-specialize event.
Sourcepub fn all_records(&self) -> &[CloneSpecRecord]
pub fn all_records(&self) -> &[CloneSpecRecord]
Returns all records.
Trait Implementations§
Source§impl Debug for CloneSpecializer
impl Debug for CloneSpecializer
Source§impl Default for CloneSpecializer
impl Default for CloneSpecializer
Source§fn default() -> CloneSpecializer
fn default() -> CloneSpecializer
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for CloneSpecializer
impl RefUnwindSafe for CloneSpecializer
impl Send for CloneSpecializer
impl Sync for CloneSpecializer
impl Unpin for CloneSpecializer
impl UnsafeUnpin for CloneSpecializer
impl UnwindSafe for CloneSpecializer
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
Mutably borrows from an owned value. Read more