1
1
use crate :: spec:: Target ;
2
2
use crate :: { abi:: Size , spec:: RelocModel } ;
3
- use rustc_data_structures:: fx:: { FxHashMap , FxHashSet } ;
3
+ use rustc_data_structures:: fx:: { FxHashMap , FxIndexSet } ;
4
4
use rustc_macros:: HashStable_Generic ;
5
5
use rustc_span:: Symbol ;
6
6
use std:: fmt;
@@ -37,13 +37,14 @@ macro_rules! def_reg_class {
37
37
38
38
pub ( super ) fn regclass_map( ) -> rustc_data_structures:: fx:: FxHashMap <
39
39
super :: InlineAsmRegClass ,
40
- rustc_data_structures:: fx:: FxHashSet <super :: InlineAsmReg >,
40
+ rustc_data_structures:: fx:: FxIndexSet <super :: InlineAsmReg >,
41
41
> {
42
- use rustc_data_structures:: fx:: { FxHashMap , FxHashSet } ;
42
+ use rustc_data_structures:: fx:: FxHashMap ;
43
+ use rustc_data_structures:: fx:: FxIndexSet ;
43
44
use super :: InlineAsmRegClass ;
44
45
let mut map = FxHashMap :: default ( ) ;
45
46
$(
46
- map. insert( InlineAsmRegClass :: $arch( $arch_regclass:: $class) , FxHashSet :: default ( ) ) ;
47
+ map. insert( InlineAsmRegClass :: $arch( $arch_regclass:: $class) , FxIndexSet :: default ( ) ) ;
47
48
) *
48
49
map
49
50
}
@@ -94,7 +95,7 @@ macro_rules! def_regs {
94
95
pub fn validate( self ,
95
96
_arch: super :: InlineAsmArch ,
96
97
_reloc_model: crate :: spec:: RelocModel ,
97
- _target_features: & rustc_data_structures:: fx:: FxHashSet <Symbol >,
98
+ _target_features: & rustc_data_structures:: fx:: FxIndexSet <Symbol >,
98
99
_target: & crate :: spec:: Target ,
99
100
_is_clobber: bool ,
100
101
) -> Result <( ) , & ' static str > {
@@ -118,11 +119,11 @@ macro_rules! def_regs {
118
119
pub ( super ) fn fill_reg_map(
119
120
_arch: super :: InlineAsmArch ,
120
121
_reloc_model: crate :: spec:: RelocModel ,
121
- _target_features: & rustc_data_structures:: fx:: FxHashSet <Symbol >,
122
+ _target_features: & rustc_data_structures:: fx:: FxIndexSet <Symbol >,
122
123
_target: & crate :: spec:: Target ,
123
124
_map: & mut rustc_data_structures:: fx:: FxHashMap <
124
125
super :: InlineAsmRegClass ,
125
- rustc_data_structures:: fx:: FxHashSet <super :: InlineAsmReg >,
126
+ rustc_data_structures:: fx:: FxIndexSet <super :: InlineAsmReg >,
126
127
>,
127
128
) {
128
129
#[ allow( unused_imports) ]
@@ -334,7 +335,7 @@ impl InlineAsmReg {
334
335
self ,
335
336
arch : InlineAsmArch ,
336
337
reloc_model : RelocModel ,
337
- target_features : & FxHashSet < Symbol > ,
338
+ target_features : & FxIndexSet < Symbol > ,
338
339
target : & Target ,
339
340
is_clobber : bool ,
340
341
) -> Result < ( ) , & ' static str > {
@@ -701,9 +702,9 @@ impl fmt::Display for InlineAsmType {
701
702
pub fn allocatable_registers (
702
703
arch : InlineAsmArch ,
703
704
reloc_model : RelocModel ,
704
- target_features : & FxHashSet < Symbol > ,
705
+ target_features : & FxIndexSet < Symbol > ,
705
706
target : & crate :: spec:: Target ,
706
- ) -> FxHashMap < InlineAsmRegClass , FxHashSet < InlineAsmReg > > {
707
+ ) -> FxHashMap < InlineAsmRegClass , FxIndexSet < InlineAsmReg > > {
707
708
match arch {
708
709
InlineAsmArch :: X86 | InlineAsmArch :: X86_64 => {
709
710
let mut map = x86:: regclass_map ( ) ;
0 commit comments