diff --git a/cranelift/codegen/meta/src/cdsl/settings.rs b/cranelift/codegen/meta/src/cdsl/settings.rs index c4e76b760f..6b4179034b 100644 --- a/cranelift/codegen/meta/src/cdsl/settings.rs +++ b/cranelift/codegen/meta/src/cdsl/settings.rs @@ -110,6 +110,15 @@ impl Preset { } layout } + + pub fn setting_names<'a>( + &'a self, + group: &'a SettingGroup, + ) -> impl Iterator + 'a { + self.values + .iter() + .map(|bool_index| group.settings[bool_index.0].name) + } } pub(crate) struct SettingGroup { diff --git a/cranelift/codegen/meta/src/gen_settings.rs b/cranelift/codegen/meta/src/gen_settings.rs index 8218876ae3..3c1de7cd64 100644 --- a/cranelift/codegen/meta/src/gen_settings.rs +++ b/cranelift/codegen/meta/src/gen_settings.rs @@ -370,7 +370,11 @@ fn gen_descriptors(group: &SettingGroup, fmt: &mut Formatter) { ); fmt.indent(|fmt| { for preset in &group.presets { - fmt.comment(preset.name); + fmt.comment(format!( + "{}: {}", + preset.name, + preset.setting_names(&group).collect::>().join(", ") + )); for (mask, value) in preset.layout(&group) { fmtln!(fmt, "(0b{:08b}, 0b{:08b}),", mask, value); }