rust/src/doc
Jacob Pratt c19c4b91f5
Rollup merge of #133429 - EnzymeAD:autodiff-middle, r=oli-obk
Autodiff Upstreaming - rustc_codegen_ssa, rustc_middle

This PR should not be merged until the rustc_codegen_llvm part is merged.
I will also alter it a little based on what get's shaved off from the cg_llvm PR,
and address some of the feedback I received in the other PR (including cleanups).

I am putting it already up to
1) Discuss with `@jieyouxu` if there is more work needed to add tests to this and
2) Pray that there is someone reviewing who can tell me why some of my autodiff invocations get lost.

Re 1: My test require fat-lto. I also modify the compilation pipeline. So if there are any other llvm-ir tests in the same compilation unit then I will likely break them. Luckily there are two groups who currently have the same fat-lto requirement for their GPU code which I have for my autodiff code and both groups have some plans to enable support for thin-lto. Once either that work pans out, I'll copy it over for this feature. I will also work on not changing the optimization pipeline for functions not differentiated, but that will require some thoughts and engineering, so I think it would be good to be able to run the autodiff tests isolated from the rest for now. Can you guide me here please?
For context, here are some of my tests in the samples folder: https://github.com/EnzymeAD/rustbook

Re 2: This is a pretty serious issue, since it effectively prevents publishing libraries making use of autodiff: https://github.com/EnzymeAD/rust/issues/173. For some reason my dummy code persists till the end, so the code which calls autodiff, deletes the dummy, and inserts the code to compute the derivative never gets executed. To me it looks like the rustc_autodiff attribute just get's dropped, but I don't know WHY? Any help would be super appreciated, as rustc queries look a bit voodoo to me.

Tracking:

- https://github.com/rust-lang/rust/issues/124509

r? `@jieyouxu`
2025-01-31 00:26:30 -05:00
..
book@fa312a343f Update books 2025-01-27 12:00:59 -05:00
edition-guide@4ed5a1a4a2 Update books 2025-01-27 12:00:59 -05:00
embedded-book@ddbf1b4e28 Update books 2024-10-23 11:44:17 -07:00
man Update rustc man page to match rustc --help 2022-08-01 22:03:18 +00:00
nomicon@bc22988655 Update books 2025-01-27 12:00:59 -05:00
reference@93b921c7d3 Update books 2025-01-27 12:00:59 -05:00
rust-by-example@054259ed1b Update books 2025-01-13 12:00:40 -05:00
rustc Mark all NuttX targets as tier 3 target and support the standard library 2025-01-27 09:23:14 +08:00
rustc-dev-guide Auto merge of #136038 - compiler-errors:outlives, r=lcnr 2025-01-30 11:40:32 +00:00
rustdoc Treat other items as functions for the purpose of type-based search 2025-01-16 11:52:00 -06:00
style-guide Rollup merge of #134975 - ehuss:revert-style-guide-rhs-break, r=compiler-errors 2024-12-31 18:42:26 -05:00
unstable-book Rollup merge of #133429 - EnzymeAD:autodiff-middle, r=oli-obk 2025-01-31 00:26:30 -05:00
complement-design-faq.md
complement-lang-faq.md
complement-project-faq.md
favicon.inc doc: no shortcut in rel="icon" 2022-01-28 13:42:48 +01:00
footer.inc avoid reuse tripping over copyright notices 2023-03-09 12:24:43 +01:00
full-toc.inc
grammar.md Remove legacy grammar 2019-09-30 07:46:10 +02:00
guide-crates.md
guide-error-handling.md Convert old doc links to current edition 2019-02-13 14:39:25 +00:00
guide-ffi.md
guide-macros.md
guide-ownership.md Convert old doc links to current edition 2019-02-13 14:39:25 +00:00
guide-plugins.md Remove support for compiler plugins. 2023-11-04 08:50:46 +11:00
guide-pointers.md Convert old doc links to current edition 2019-02-13 14:39:25 +00:00
guide-strings.md
guide-tasks.md
guide-testing.md Convert old doc links to current edition 2019-02-13 14:39:25 +00:00
guide-unsafe.md
guide.md
index.md doc: add release notes to standalone doc bundle 2023-11-13 16:00:31 -07:00
intro.md
not_found.md rustdoc: consistentify #TOC and #ModNav to lowercase 2024-08-20 16:51:40 -07:00
redirect.inc doc: no shortcut in rel="icon" 2022-01-28 13:42:48 +01:00
reference.md Update reference.md 2021-07-10 19:51:36 +02:00
robots.txt Block version-specific docs from search engines 2020-03-14 02:29:35 +00:00
rust.css Fix heading anchors in doc pages. 2024-03-18 09:13:18 -07:00
rust.md
rustdoc.md
tutorial.md Update tutorial.md 2018-05-17 12:25:24 -07:00
version_info.html.template