rust/compiler
bors 8dac72bb1d Auto merge of #136428 - EnzymeAD:enable-autodiff, r=oli-obk
test building enzyme in CI

1) This PR fixes a significant compile-time regression, by only running the expensive autodiff pipeline, if the users pass the newly introduced Enable value to the `-Zautodiff=` flag. It updates the test(s) accordingly. It gives a nice error if users forget that.
2) It fixes macos support by explicitly linking against the Enzyme build folder. This doesn't cover CI macos yet.
3) It fixes the issue that setting ENZYME_RUNPASS was ignored by enzyme and in fact did not schedule enzyme's opt pass.
4) It also re-enables support for various other values for the autodiff flag, which were ignored since the refactor.
5) I merged some improvements to Enzyme core, which means we do not longer depend on LLVM being build with the Plugin Interface enabled.
6) Unrelated to other fixes, this changes `rustc_autodiff` to `EncodeCrossCrate::Yes`. It is not enough on it's own to enable usage of Enzyme in libraries, but it is for sure a piece of the fixes needed to get this to work.

try-job: x86_64-gnu

r? `@oli-obk`

Tracking:

- https://github.com/rust-lang/rust/issues/124509
2025-02-22 10:30:06 +00:00
..
rustc switch jemalloc-sys back to tikv-jemalloc-sys, and update to 0.6.0 2024-12-03 08:56:33 +00:00
rustc_abi Adjust LayoutData::uninhabited doc comment. 2025-02-20 13:41:24 -06:00
rustc_arena Add inherent versions of MaybeUninit methods for slices 2025-01-11 23:57:00 -05:00
rustc_ast Auto merge of #136428 - EnzymeAD:enable-autodiff, r=oli-obk 2025-02-22 10:30:06 +00:00
rustc_ast_ir Make fewer crates depend on rustc_ast_ir 2025-02-19 07:06:54 +00:00
rustc_ast_lowering Move some Map methods onto TyCtxt. 2025-02-17 13:21:02 +11:00
rustc_ast_passes compiler: remove rustc_target reexport of rustc_abi::HashStableContext 2025-02-11 18:55:48 -08:00
rustc_ast_pretty Add a TyPat in the AST to reuse the generic arg lowering logic 2025-02-11 08:51:05 +00:00
rustc_attr_data_structures rustc_allowed_through_unstable_modules: require deprecation message 2025-02-02 12:36:12 +01:00
rustc_attr_parsing Rustfmt 2025-02-08 22:12:13 +00:00
rustc_baked_icu_data Delete the cfg(not(parallel)) serial compiler 2024-11-12 13:38:58 +00:00
rustc_borrowck Auto merge of #137397 - matthiaskrgr:rollup-ls2pilo, r=matthiaskrgr 2025-02-21 19:57:50 +00:00
rustc_builtin_macros fix build regressions 2025-02-21 21:45:29 -05:00
rustc_codegen_cranelift Remove BackendRepr::Uninhabited, replaced with an uninhabited: bool field in LayoutData. 2025-02-20 13:27:32 -06:00
rustc_codegen_gcc Remove BackendRepr::Uninhabited, replaced with an uninhabited: bool field in LayoutData. 2025-02-20 13:27:32 -06:00
rustc_codegen_llvm update autodiff flags 2025-02-21 21:51:20 -05:00
rustc_codegen_ssa update autodiff flags 2025-02-21 21:51:20 -05:00
rustc_const_eval fine-tune comment 2025-02-20 13:41:24 -06:00
rustc_data_structures Stacker now handles miri using a noop impl itself 2025-02-21 13:54:45 +00:00
rustc_driver
rustc_driver_impl Rollup merge of #137151 - Urgau:register-more-signals, r=workingjubilee 2025-02-18 18:34:14 +01:00
rustc_error_codes fix: Alloc new errorcode E0803 for E0495 2025-02-15 12:18:30 +08:00
rustc_error_messages tree-wide: parallel: Fully removed all Lrc, replaced with Arc 2025-02-03 13:25:57 +03:00
rustc_errors Trim suggestion part before generating highlights 2025-02-21 00:54:01 +00:00
rustc_expand Avoid snapshotting the parser in parse_path_inner. 2025-02-21 16:48:01 +11:00
rustc_feature Auto merge of #136428 - EnzymeAD:enable-autodiff, r=oli-obk 2025-02-22 10:30:06 +00:00
rustc_fluent_macro use tracked_path in rustc_fluent_macro 2024-10-19 22:32:38 +08:00
rustc_fs_util Couple of changes to make it easier to compile rustc for wasm 2024-09-26 19:51:14 +00:00
rustc_graphviz Rustfmt 2025-02-08 22:12:13 +00:00
rustc_hashes Move hashes from rustc_data_structure to rustc_hashes so they can be shared with rust-analyzer 2025-02-16 16:18:30 -05:00
rustc_hir Move methods from Map to TyCtxt, part 2. 2025-02-18 10:17:44 +11:00
rustc_hir_analysis Rollup merge of #136787 - compiler-errors:lt2024feat, r=oli-obk 2025-02-22 01:01:40 +01:00
rustc_hir_pretty Overhaul the intravisit::Map trait. 2025-02-17 13:21:35 +11:00
rustc_hir_typeck Move methods from Map to TyCtxt, part 3. 2025-02-21 14:31:09 +11:00
rustc_incremental Move methods from Map to TyCtxt, part 2. 2025-02-18 10:17:44 +11:00
rustc_index Rustfmt 2025-02-08 22:12:13 +00:00
rustc_index_macros update rustc_index_macros feature handling 2024-12-19 20:32:12 +03:00
rustc_infer Rollup merge of #137305 - nnethercote:rustc_middle-2, r=lcnr 2025-02-21 12:45:25 +01:00
rustc_interface update autodiff flags 2025-02-21 21:51:20 -05:00
rustc_lexer Rustfmt 2025-02-08 22:12:13 +00:00
rustc_lint Rollup merge of #136787 - compiler-errors:lt2024feat, r=oli-obk 2025-02-22 01:01:40 +01:00
rustc_lint_defs Reword message 2025-02-20 17:55:31 +00:00
rustc_llvm update enzyme submodule and users 2025-02-21 21:49:46 -05:00
rustc_log Avoid naming variables str 2025-01-07 14:30:02 +02:00
rustc_macros Make fewer crates depend on rustc_ast_ir 2025-02-19 07:06:54 +00:00
rustc_metadata Move methods from Map to TyCtxt, part 2. 2025-02-18 10:17:44 +11:00
rustc_middle Rollup merge of #137399 - lukas-code:oopsie-woopsie, r=compiler-errors 2025-02-22 01:01:42 +01:00
rustc_mir_build Auto merge of #137397 - matthiaskrgr:rollup-ls2pilo, r=matthiaskrgr 2025-02-21 19:57:50 +00:00
rustc_mir_dataflow Rollup merge of #137213 - nnethercote:rm-rustc_middle-mir-tcx, r=compiler-errors 2025-02-19 01:30:13 +01:00
rustc_mir_transform Rollup merge of #137305 - nnethercote:rustc_middle-2, r=lcnr 2025-02-21 12:45:25 +01:00
rustc_monomorphize clean up autodiff code/comments 2025-02-21 21:47:48 -05:00
rustc_next_trait_solver Make sure we don't overrun the stack in canonicalizer 2025-02-21 18:24:05 +00:00
rustc_parse Auto merge of #133436 - nnethercote:rm-NtVis-NtTy, r=petrochenkov 2025-02-22 06:09:14 +00:00
rustc_parse_format Rustfmt 2025-02-08 22:12:13 +00:00
rustc_passes Move methods from Map to TyCtxt, part 3. 2025-02-21 14:31:09 +11:00
rustc_pattern_analysis Add pattern_complexity_limit to Limits. 2025-02-17 09:30:33 +11:00
rustc_privacy Move methods from Map to TyCtxt, part 2. 2025-02-18 10:17:44 +11:00
rustc_query_impl Move hashes from rustc_data_structure to rustc_hashes so they can be shared with rust-analyzer 2025-02-16 16:18:30 -05:00
rustc_query_system Move hashes from rustc_data_structure to rustc_hashes so they can be shared with rust-analyzer 2025-02-16 16:18:30 -05:00
rustc_resolve Auto merge of #137397 - matthiaskrgr:rollup-ls2pilo, r=matthiaskrgr 2025-02-21 19:57:50 +00:00
rustc_sanitizers check the types in ty::Value to value conversion 2025-01-30 18:13:16 +01:00
rustc_serialize Move hashes from rustc_data_structure to rustc_hashes so they can be shared with rust-analyzer 2025-02-16 16:18:30 -05:00
rustc_session update autodiff flags 2025-02-21 21:51:20 -05:00
rustc_smir Remove BackendRepr::Uninhabited, replaced with an uninhabited: bool field in LayoutData. 2025-02-20 13:27:32 -06:00
rustc_span Restrict bevy hack 2025-02-19 03:58:31 +00:00
rustc_symbol_mangling Move hashes from rustc_data_structure to rustc_hashes so they can be shared with rust-analyzer 2025-02-16 16:18:30 -05:00
rustc_target Rollup merge of #135630 - folkertdev:s390x-target-features, r=Amanieu 2025-02-21 12:45:22 +01:00
rustc_trait_selection Rollup merge of #137245 - estebank:from-residual-note-2, r=oli-obk 2025-02-22 01:01:41 +01:00
rustc_traits don't leave assoc const unnormalized due to unconstrained params 2025-02-21 20:32:37 +01:00
rustc_transmute Make fewer crates depend on rustc_ast_ir 2025-02-19 07:06:54 +00:00
rustc_ty_utils Rollup merge of #137399 - lukas-code:oopsie-woopsie, r=compiler-errors 2025-02-22 01:01:42 +01:00
rustc_type_ir Do not deduplicate list of associated types provided by dyn principal 2025-02-21 19:32:45 +00:00
rustc_type_ir_macros Make fewer crates depend on rustc_ast_ir 2025-02-19 07:06:54 +00:00
stable_mir Remove BackendRepr::Uninhabited, replaced with an uninhabited: bool field in LayoutData. 2025-02-20 13:27:32 -06:00