rust/tests
bors a6d93acf5f Auto merge of #122050 - erikdesjardins:sret, r=nikic
Stop using LLVM struct types for byval/sret

For `byval` and `sret`, the type has no semantic meaning, only the size matters\*†. Using `[N x i8]` is a more direct way to specify that we want `N` bytes, and avoids relying on LLVM's struct layout.

\*: The alignment would matter, if we didn't explicitly specify it. From what I can tell, we always specified the alignment for `sret`; for `byval`, we didn't until #112157.

†: For `byval`, the hidden copy may be impacted by padding in the LLVM struct type, i.e. padding bytes may not be copied. (I'm not sure if this is done today, but I think it would be legal.) But we manually pad our LLVM struct types specifically to avoid there ever being LLVM-visible padding, so that shouldn't be an issue.

Split out from #121577.

r? `@nikic`
2024-03-11 04:45:27 +00:00
..
assembly
auxiliary
codegen Auto merge of #122050 - erikdesjardins:sret, r=nikic 2024-03-11 04:45:27 +00:00
codegen-units
coverage
coverage-run-rustdoc
debuginfo
incremental
mir-opt MIR printing: print the path of uneval'd const; refer to promoteds in a consistent way 2024-03-10 14:59:41 +01:00
pretty
run-make Rollup merge of #121685 - fortanix:raoul/shellcheck_on_lvi_test_script, r=Mark-Simulacrum 2024-03-10 10:58:16 +01:00
run-make-fulldeps
run-pass-valgrind
rustdoc
rustdoc-gui
rustdoc-js
rustdoc-js-std
rustdoc-json
rustdoc-ui
ui Auto merge of #121752 - mu001999:dead_code/improve, r=pnkfelix 2024-03-11 02:46:47 +00:00
ui-fulldeps Rename DecorateLint as LintDiagnostic. 2024-03-11 10:04:50 +11:00
COMPILER_TESTS.md