message: Provide a default provide* implementation for CodegenBackend
  Both cg_llvm and cg_clif don't override it. cg_spirv does override it,
  so it needs to be preserved.
diff: use rustc_errors::ErrorReported;
  use rustc_middle::dep_graph::{WorkProduct, WorkProductId};
  use rustc_middle::middle::cstore::{EncodedMetadata, MetadataLoader};
  -use rustc_middle::ty::query::Providers;
  use rustc_session::config::OutputFilenames;
  use rustc_session::Session;
  @@ -168,9 +167,6 @@ fn metadata_loader(&self) -> Box<dyn MetadataLoader + Sync> {
  Box::new(rustc_codegen_ssa::back::metadata::DefaultMetadataLoader)
  }
  - fn provide(&self, _providers: &mut Providers) {}
  - fn provide_extern(&self, _providers: &mut Providers) {}
  -
  fn target_features(&self, _sess: &Session) -> Vec<rustc_span::Symbol> {
  vec![]
  }
  