about summary refs log tree commit diff
path: root/compiler/rustc_session/src
diff options
context:
space:
mode:
authorUrgau <urgau@numericable.fr>2025-02-15 11:53:08 +0100
committerUrgau <urgau@numericable.fr>2025-02-15 18:49:26 +0100
commit6ec3cf9abc15368df705b65e20e7e753d565fe71 (patch)
tree9d3f20a2897de6ed0d8b9044e7d85ab20f1f68d7 /compiler/rustc_session/src
parent3f33b30e19b7597a3acbca19e46d9e308865a0fe (diff)
downloadrust-6ec3cf9abc15368df705b65e20e7e753d565fe71.tar.gz
rust-6ec3cf9abc15368df705b65e20e7e753d565fe71.zip
Load all builtin targets at once instead of one by one
This should give us some performance improvements as we won't need to
do the lookup for the _currently_ 287 targets we have.
Diffstat (limited to 'compiler/rustc_session/src')
-rw-r--r--compiler/rustc_session/src/config/cfg.rs8
1 files changed, 2 insertions, 6 deletions
diff --git a/compiler/rustc_session/src/config/cfg.rs b/compiler/rustc_session/src/config/cfg.rs
index d586f913335..1078757d09e 100644
--- a/compiler/rustc_session/src/config/cfg.rs
+++ b/compiler/rustc_session/src/config/cfg.rs
@@ -29,7 +29,7 @@ use rustc_data_structures::fx::{FxHashMap, FxHashSet, FxIndexSet};
 use rustc_lint_defs::BuiltinLintDiag;
 use rustc_lint_defs::builtin::EXPLICIT_BUILTIN_CFGS_IN_FLAGS;
 use rustc_span::{Symbol, sym};
-use rustc_target::spec::{PanicStrategy, RelocModel, SanitizerSet, TARGETS, Target, TargetTuple};
+use rustc_target::spec::{PanicStrategy, RelocModel, SanitizerSet, Target};
 
 use crate::Session;
 use crate::config::{CrateType, FmtDebug};
@@ -426,11 +426,7 @@ impl CheckCfg {
                     panic!("unable to get all the check-cfg values buckets");
                 };
 
-                for target in TARGETS
-                    .iter()
-                    .map(|target| Target::expect_builtin(&TargetTuple::from_tuple(target)))
-                    .chain(iter::once(current_target.clone()))
-                {
+                for target in Target::builtins().chain(iter::once(current_target.clone())) {
                     values_target_abi.insert(Symbol::intern(&target.options.abi));
                     values_target_arch.insert(Symbol::intern(&target.arch));
                     values_target_endian.insert(Symbol::intern(target.options.endian.as_str()));