rust/tests
Patrick Walton f71741bac4 [rustc_ty_utils] Add the LLVM noalias parameter attribute to drop_in_place in certain cases.
LLVM can make use of the `noalias` parameter attribute on the parameter to
`drop_in_place` in areas like argument promotion. Because the Rust compiler
fully controls the code for `drop_in_place`, it can soundly deduce parameter
attributes on it. In the case of a value that has a programmer-defined Drop
implementation, we know that the first thing `drop_in_place` will do is pass a
pointer to the object to `Drop::drop`. `Drop::drop` takes `&mut`, so it must be
guaranteed that there are no pointers to the object upon entering that
function. Therefore, it should be safe to mark `noalias` there.

With this patch, we mark `noalias` only when the type is a value with a
programmer-defined Drop implementation. This is possibly overly conservative,
but I thought that proceeding cautiously was best in this instance.
2023-05-20 18:12:53 -04:00
..
assembly Tune the is_ascii implementation used for short slices 2023-05-06 22:56:43 -07:00
auxiliary
codegen [rustc_ty_utils] Add the LLVM noalias parameter attribute to drop_in_place in certain cases. 2023-05-20 18:12:53 -04:00
codegen-units
debuginfo Add multiple borrow test. 2023-05-13 10:32:32 +00:00
incremental
mir-opt Address FIXME 2023-05-15 12:05:17 +02:00
pretty
run-make Rollup merge of #111469 - Dushistov:fix-coverage-data-race, r=wesleywiser 2023-05-13 11:05:34 +05:30
run-make-fulldeps Move expansion of query macros in rustc_middle to rustc_middle::query 2023-05-15 08:49:13 +02:00
run-pass-valgrind
rustdoc Add regression test for #111415 2023-05-16 14:35:46 +02:00
rustdoc-gui Convert more GUI tests colors to their original format 2023-05-14 00:16:16 +02:00
rustdoc-js Rollup merge of #110780 - notriddle:notriddle/slice-index, r=GuillaumeGomez 2023-05-06 09:09:31 +09:00
rustdoc-js-std
rustdoc-json rustdoc-json: Add tests for #![feature(inherent_associated_types)] 2023-05-13 13:07:23 +00:00
rustdoc-ui Fix backtrace normalization in ice-bug-report-url.rs 2023-05-11 13:59:38 +02:00
ui Rollup merge of #111610 - bvanjoi:fix-99597, r=compiler-errors 2023-05-16 20:12:18 +02:00
ui-fulldeps Rollup merge of #110747 - oli-obk:smirty, r=spastorino 2023-05-10 06:12:13 +02:00
COMPILER_TESTS.md