rust/compiler/rustc_interface/src
Nicholas Nethercote 936a8232df Change signature of target_features_cfg.
Currently it is called twice, once with `allow_unstable` set to true and
once with it set to false. This results in some duplicated work. Most
notably, for the LLVM backend, `LLVMRustHasFeature` is called twice for
every feature, and it's moderately slow. For very short running
compilations on platforms with many features (e.g. a `check` build of
hello-world on x86) this is a significant fraction of runtime.

This commit changes `target_features_cfg` so it is only called once, and
it now returns a pair of feature sets. This halves the number of
`LLVMRustHasFeature` calls.
2025-03-05 09:49:17 +11:00
..
callbacks.rs Do not call source_span when not tracking dependencies. 2024-08-24 16:40:40 +00:00
errors.rs fix: naming convention "ferris" suggestion for idents named 🦀 2025-02-21 20:44:35 +00:00
interface.rs Construct DiagCtxt a bit earlier in build_session 2025-02-06 17:29:15 +00:00
lib.rs Move rustc_middle::limits to rustc_interface. 2025-02-17 09:30:39 +11:00
limits.rs Move methods from Map to TyCtxt, part 2. 2025-02-18 10:17:44 +11:00
passes.rs Remove some unnecessary aliases from rustc_data_structures::sync 2025-03-03 20:20:24 +11:00
proc_macro_decls.rs Move some Map methods onto TyCtxt. 2025-02-17 13:21:02 +11:00
queries.rs Remove the parse query 2024-12-14 14:24:49 +00:00
tests.rs update autodiff flags 2025-02-21 21:51:20 -05:00
util.rs Change signature of target_features_cfg. 2025-03-05 09:49:17 +11:00