));
}
-pub struct SimplifyLocals;
+pub struct SimplifyLocals {
+ label: String,
+}
+
+impl SimplifyLocals {
+ pub fn new(label: &str) -> SimplifyLocals {
+ SimplifyLocals { label: format!("SimplifyLocals-{}", label) }
+ }
+}
impl<'tcx> MirPass<'tcx> for SimplifyLocals {
+ fn name(&self) -> &str {
+ &self.label
+ }
+
fn is_enabled(&self, sess: &rustc_session::Session) -> bool {
sess.mir_opt_level() > 0
}
StatementKind::SetDiscriminant { ref place, .. }
| StatementKind::Deinit(ref place) => used_locals.is_used(place.local),
+ StatementKind::Nop => false,
_ => true,
};