about summary refs log tree commit diff
path: root/compiler/rustc_codegen_ssa/src
diff options
context:
space:
mode:
authorMichael Woerister <michaelwoerister@posteo>2022-12-02 16:27:25 +0100
committerMichael Woerister <michaelwoerister@posteo>2023-01-19 10:19:07 +0100
commit8a1de57a4aaf4ff13d20fdbc162064f237bb7679 (patch)
tree500e267153f2feb8dc9bdeab29b46def3439fa17 /compiler/rustc_codegen_ssa/src
parent65d2f2a5f9c323c88d1068e8e90d0b47a20d491c (diff)
downloadrust-8a1de57a4aaf4ff13d20fdbc162064f237bb7679.tar.gz
rust-8a1de57a4aaf4ff13d20fdbc162064f237bb7679.zip
Use UnordSet instead of FxHashSet in define_id_collections!().
Diffstat (limited to 'compiler/rustc_codegen_ssa/src')
-rw-r--r--compiler/rustc_codegen_ssa/src/base.rs15
1 files changed, 9 insertions, 6 deletions
diff --git a/compiler/rustc_codegen_ssa/src/base.rs b/compiler/rustc_codegen_ssa/src/base.rs
index f7312f6fcda..32d3cfe6fc6 100644
--- a/compiler/rustc_codegen_ssa/src/base.rs
+++ b/compiler/rustc_codegen_ssa/src/base.rs
@@ -964,16 +964,19 @@ pub fn provide(providers: &mut Providers) {
         };
 
         let (defids, _) = tcx.collect_and_partition_mono_items(cratenum);
-        for id in &*defids {
+
+        let any_for_speed = defids.items().any(|id| {
             let CodegenFnAttrs { optimize, .. } = tcx.codegen_fn_attrs(*id);
             match optimize {
-                attr::OptimizeAttr::None => continue,
-                attr::OptimizeAttr::Size => continue,
-                attr::OptimizeAttr::Speed => {
-                    return for_speed;
-                }
+                attr::OptimizeAttr::None | attr::OptimizeAttr::Size => false,
+                attr::OptimizeAttr::Speed => true,
             }
+        });
+
+        if any_for_speed {
+            return for_speed;
         }
+
         tcx.sess.opts.optimize
     };
 }