Remove CodegenBackend::target_override.
Backend and target selection is a mess: the target can override the backend (via `Target::default_codegen_backend`), *and* the backend can override the target (via `CodegenBackend::target_override`). The code that handles this is ugly. It calls `build_target_config` twice, once before getting the backend and once again afterward. It also must check that both overrides aren't triggering at the same time. This commit removes the latter override. It's used in rust-gpu but @eddyb said via Zulip that removing it would be ok. This simplifies the code greatly, and will allow some nice follow-up refactorings.
This commit is contained in:
@@ -2091,6 +2091,9 @@ pub struct TargetOptions {
|
||||
/// compiling `rustc` will be used instead (or llvm if it is not set).
|
||||
///
|
||||
/// N.B. when *using* the compiler, backend can always be overridden with `-Zcodegen-backend`.
|
||||
///
|
||||
/// This was added by WaffleLapkin in #116793. The motivation is a rustc fork that requires a
|
||||
/// custom codegen backend for a particular target.
|
||||
pub default_codegen_backend: Option<StaticCow<str>>,
|
||||
|
||||
/// Whether to generate trap instructions in places where optimization would
|
||||
|
||||
Reference in New Issue
Block a user