diff options
| author | bjorn3 <bjorn3@users.noreply.github.com> | 2022-01-10 15:48:05 +0100 |
|---|---|---|
| committer | bjorn3 <bjorn3@users.noreply.github.com> | 2022-01-17 18:06:30 +0100 |
| commit | e59b024e025795ecf7e3a57471451996be637656 (patch) | |
| tree | f6fb1e70e3dfcd9f88a8d72b482da21e9c7c65c9 | |
| parent | 48abe3c6fa29dbedc611e22c6acde7d0022219f4 (diff) | |
| download | rust-e59b024e025795ecf7e3a57471451996be637656.tar.gz rust-e59b024e025795ecf7e3a57471451996be637656.zip | |
Pass target_features set instead of has_feature closure
This avoids unnecessary monomorphizations in codegen backends
| -rw-r--r-- | src/inline_asm.rs | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/src/inline_asm.rs b/src/inline_asm.rs index be39dbd2e2a..c242c75ed18 100644 --- a/src/inline_asm.rs +++ b/src/inline_asm.rs @@ -182,11 +182,7 @@ struct InlineAssemblyGenerator<'a, 'tcx> { impl<'tcx> InlineAssemblyGenerator<'_, 'tcx> { fn allocate_registers(&mut self) { let sess = self.tcx.sess; - let map = allocatable_registers( - self.arch, - |feature| sess.target_features.contains(&feature), - &sess.target, - ); + let map = allocatable_registers(self.arch, &sess.target_features, &sess.target); let mut allocated = FxHashMap::<_, (bool, bool)>::default(); let mut regs = vec![None; self.operands.len()]; @@ -319,7 +315,7 @@ impl<'tcx> InlineAssemblyGenerator<'_, 'tcx> { // Allocate stack slots for saving clobbered registers let abi_clobber = InlineAsmClobberAbi::parse( self.arch, - |feature| self.tcx.sess.target_features.contains(&feature), + &self.tcx.sess.target_features, &self.tcx.sess.target, sym::C, ) |
