rust/src
Jacob Pratt 816f098464
Rollup merge of #145626 - folkertdev:prefetch-fallback, r=Amanieu
add a fallback implementation for the `prefetch_*` intrinsics

related ACP: https://github.com/rust-lang/libs-team/issues/638

The fallback is to just ignore the arguments. That is a valid implementation because this intrinsic is just a hint.

I also added the `miri::intrinsic_fallback_is_spec` annotation, so that miri now supports these operations. A prefetch intrinsic call is valid on any pointer. (specifically LLVM guarantees this https://llvm.org/docs/LangRef.html#llvm-prefetch-intrinsic)

Next, I made the `LOCALITY` argument a const generic. That argument must be const (otherwise LLVM crashes), but that was not reflected in the type.

Finally, with these changes, the intrinsic can be safe and `const` (a prefetch at const evaluation time is just a no-op).

cc `@Amanieu`
r? `@RalfJung`
2025-08-20 00:46:02 -04:00
..
bootstrap Auto merge of #145601 - jieyouxu:rollup-t5mbqhc, r=jieyouxu 2025-08-19 23:52:06 +00:00
build_helper Print what bootstrap invocation failed when an error happens in CI 2025-08-18 12:35:20 +02:00
ci Rollup merge of #145252 - shepmaster:demote-x86_64-apple-darwin-to-tier-2, r=Kobzol,madsmtm 2025-08-20 00:45:55 -04:00
doc Rollup merge of #145252 - shepmaster:demote-x86_64-apple-darwin-to-tier-2, r=Kobzol,madsmtm 2025-08-20 00:45:55 -04:00
etc rustdoc-search: search backend with partitioned suffix tree 2025-08-15 10:26:03 -07:00
gcc@04ce66d8c9 Update src/gcc submodule to 04ce66d8c918de9273bd7101638ad8724edf5e21 2025-05-14 18:02:02 +02:00
librustdoc Rollup merge of #140314 - lolbinarycat:rustdoc-js-scrape-examples-typecheck, r=notriddle 2025-08-20 00:45:52 -04:00
llvm-project@9a1f898064 Update to LLVM 21.1.0 rc3 2025-08-12 12:01:55 +02:00
rustc-std-workspace update rustc-std-workspace crates 2024-11-04 07:45:15 +01:00
rustdoc-json-types rustdoc-json: Move #[macro_export] from Other to it's own variant 2025-07-30 19:57:32 +00:00
tools Rollup merge of #145626 - folkertdev:prefetch-fallback, r=Amanieu 2025-08-20 00:46:02 -04:00
README.md
stage0 bump stage0 2025-08-06 13:22:38 +01:00
version bump version 2025-08-01 09:04:01 +01:00

This directory contains some source code for the Rust project, including:

  • The bootstrapping build system
  • Various submodules for tools, like cargo, tidy, etc.

For more information on how various parts of the compiler work, see the rustc dev guide.