@@ -200,7 +200,6 @@ fn remove_duplicate_debug_names(debug_names: &mut Vec<Instruction>) {
200200 inst. operands [ 1 ] . unwrap_literal_bit32 ( ) ,
201201 ) ) )
202202 } ) ;
203-
204203}
205204
206205pub fn remove_duplicate_types ( module : & mut Module ) {
@@ -553,20 +552,21 @@ pub fn remove_duplicate_debuginfo(module: &mut Module) {
553552 }
554553}
555554
556-
557555pub fn remove_duplicate_builtin_input_variables ( module : & mut Module ) {
558556 // Find the variables decorated as input builtins, and any duplicates of them..
559557
560558 // Build a map: from a variable ID to the builtin it's decorated with.
561- let var_id_to_builtin: FxHashMap :: < Word , BuiltIn > ;
559+ let var_id_to_builtin: FxHashMap < Word , BuiltIn > ;
562560 {
563561 let mut var_id_to_builtin_mut = FxHashMap :: default ( ) ;
564562
565563 for inst in module. annotations . iter ( ) {
566564 if inst. class . opcode == Op :: Decorate
567- && let [ Operand :: IdRef ( var_id) ,
568- Operand :: Decoration ( Decoration :: BuiltIn ) ,
569- Operand :: BuiltIn ( builtin) ] = inst. operands [ ..]
565+ && let [
566+ Operand :: IdRef ( var_id) ,
567+ Operand :: Decoration ( Decoration :: BuiltIn ) ,
568+ Operand :: BuiltIn ( builtin) ,
569+ ] = inst. operands [ ..]
570570 {
571571 // Ignore multiple BuiltIn's for one variable ID;
572572 // they're invalid AFAIK, but later validation will catch them.
@@ -578,7 +578,7 @@ pub fn remove_duplicate_builtin_input_variables(module: &mut Module) {
578578 } ;
579579
580580 // Build a map from deleted duplicate input variable ID to the de-duplicated ID.
581- let duplicate_vars: FxHashMap :: < Word , Word > ;
581+ let duplicate_vars: FxHashMap < Word , Word > ;
582582 {
583583 let mut duplicate_in_vars_mut = FxHashMap :: < Word , Word > :: default ( ) ;
584584
@@ -596,13 +596,13 @@ pub fn remove_duplicate_builtin_input_variables(module: &mut Module) {
596596 // record it in the builtins map.
597597 hash_map:: Entry :: Vacant ( vacant) => {
598598 vacant. insert ( var_id) ;
599- } ,
599+ }
600600
601601 // this builtin already has an input variable,
602602 // record it in the duplicates map.
603603 hash_map:: Entry :: Occupied ( occupied) => {
604604 duplicate_in_vars_mut. insert ( var_id, * occupied. get ( ) ) ;
605- } ,
605+ }
606606 } ;
607607 }
608608 }
@@ -616,10 +616,10 @@ pub fn remove_duplicate_builtin_input_variables(module: &mut Module) {
616616 continue ;
617617 }
618618
619- entry. operands . retain (
620- |operand|
619+ entry. operands . retain ( |operand| {
621620 !matches ! ( operand,
622- Operand :: IdRef ( id) if duplicate_vars. contains_key( & id) ) ) ;
621+ Operand :: IdRef ( id) if duplicate_vars. contains_key( & id) )
622+ } ) ;
623623 }
624624
625625 // Remove duplicate debug names after merging variables.
@@ -642,14 +642,16 @@ pub fn remove_duplicate_builtin_input_variables(module: &mut Module) {
642642 }
643643
644644 // Remove the duplicate variable definitions.
645- module. types_global_values
646- . retain ( |inst| ! matches ! ( inst . result_id ,
647- Some ( id) if duplicate_vars. contains_key( & id) ) ) ;
645+ module
646+ . types_global_values
647+ . retain ( |inst| ! matches ! ( inst . result_id , Some ( id) if duplicate_vars. contains_key( & id) ) ) ;
648648
649649 // Rewrite function blocks to use de-duplicated variables.
650- for inst in & mut module. functions . iter_mut ( )
651- . flat_map ( |f| & mut f. blocks )
652- . flat_map ( |b| & mut b. instructions )
650+ for inst in & mut module
651+ . functions
652+ . iter_mut ( )
653+ . flat_map ( |f| & mut f. blocks )
654+ . flat_map ( |b| & mut b. instructions )
653655 {
654656 rewrite_inst_with_rules ( inst, & duplicate_vars) ;
655657 }
0 commit comments