rust/tests/codegen-llvm
Matthias Krüger 422c76adae
Rollup merge of #146178 - folkertdev:static-align, r=jdonszelmann,ralfjung,traviscross
Implement `#[rustc_align_static(N)]` on `static`s

Tracking issue: https://github.com/rust-lang/rust/issues/146177

```rust
#![feature(static_align)]

#[rustc_align_static(64)]
static SO_ALIGNED: u64 = 0;
```

We need a different attribute than `rustc_align` because unstable attributes are tied to their feature (we can't have two unstable features use the same unstable attribute). Otherwise this uses all of the same infrastructure as `#[rustc_align]`.

r? `@traviscross`
2025-09-10 14:17:38 +02:00
..
asm Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
autodiff Update autodiff tests for the new intrinsics impl 2025-08-14 18:33:43 +00:00
autovec Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
auxiliary Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
avr Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
bounds-checking Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
cffi stabilize extended_varargs_abi_support 2025-09-02 08:48:12 +02:00
compiletest-self-test Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
cross-crate-inlining Ignore intrinsic calls in cross-crate-inlining cost model 2025-09-05 20:44:49 -04:00
debug-accessibility Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
debuginfo-proc-macro Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
dllimports Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
enum tests: fix RISC-V failures and adjust transmute-scalar.rs target 2025-08-18 19:37:13 +00:00
ergonomic-clones Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
float Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
gpu_offload Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
hint Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
instrument-coverage Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
instrument-xray Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
intrinsics make prefetch intrinsics safe 2025-08-20 00:35:42 +02:00
issues Adjust issue-118306.rs test after LLVM change 2025-09-02 12:04:04 +02:00
lib-optimizations Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
loongarch-abi Rollup merge of #145709 - heiher:issue-145692-1, r=jackh726 2025-09-05 01:53:20 -04:00
macos Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
meta-filecheck Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
naked-fn Verify llvm-needs-components are not empty and match the --target value 2025-07-29 11:20:23 -07:00
non-terminate Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
option-niche-unfixed Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
patchable-function-entry Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
remap_path_prefix Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
repr Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
riscv-abi Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
sanitizer -Zsanitize and -Zsanitizer-cfi-normalize-integers flags are now target modifiers with custom consistency check function 2025-08-21 16:08:00 +07:00
simd Fix tests/codegen-llvm/simd/extract-insert-dyn.rs test failure on riscv64 2025-07-28 11:58:38 +00:00
simd-intrinsic Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
src-hash-algorithm Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
unwind-abis Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
aarch64-softfloat.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
aarch64-struct-align-128.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
abi-efiapi.rs Verify llvm-needs-components are not empty and match the --target value 2025-07-29 11:20:23 -07:00
abi-main-signature-16bit-c-int.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
abi-main-signature-32bit-c-int.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
abi-repr-ext.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
abi-sysv64.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
abi-win64-zst.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
abi-x86-interrupt.rs Enforce correct number of arguments for "x86-interrupt" functions 2025-08-20 18:03:57 +03:00
abi-x86-sse.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
abi-x86_64_sysv.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
addr-of-mutate.rs Use captures(address) instead of captures(none) for indirect args 2025-08-26 16:16:23 +02:00
adjustments.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
align-byval-alignment-mismatch.rs llvm: Accept new LLVM lifetime format 2025-08-11 22:00:41 +00:00
align-byval-vector.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
align-byval.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
align-enum.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
align-fn.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
align-offset.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
align-static.rs allow #[rustc_align_static(N)] on statics 2025-09-09 21:54:54 +02:00
align-struct.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
alloc-optimisation.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
amdgpu-addrspacecast.rs Add test for addrspacecasting global vars 2025-09-03 08:40:51 +02:00
array-clone.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
array-cmp.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
array-codegen.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
array-equality.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
array-from_fn.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
array-map.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
array-optimized.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
array-repeat.rs stabilize array repeat 2025-08-15 16:42:21 +00:00
ascii-char.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
assign-desugar-debuginfo.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
async-closure-debug.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
async-fn-debug-awaitee-field.rs pub async fn implementation coroutine (func::{closure#0}) is monomorphized, when func itself is monomorphized 2025-09-01 13:45:00 +07:00
async-fn-debug-msvc.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
async-fn-debug.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
atomic-operations.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
atomicptr.rs stabilize strict provenance atomic ptr 2025-08-15 16:56:11 +00:00
autovectorize-f32x4.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
become-musttail.rs Implement support for explicit tail calls in the MIR block builders and the LLVM codegen backend. 2025-07-26 01:02:29 +02:00
bigint-helpers.rs Stop using uadd.with.overflow 2025-08-08 21:59:28 -07:00
binary-heap-peek-mut-pop-no-panic.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
binary-search-index-no-bound-check.rs Consolidate panicking functions in slice/index.rs 2025-08-21 11:07:25 +01:00
bool-cmp.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
bounds-check-elision-slice-min.rs Multiple bounds checking elision failures 2025-08-01 18:38:22 +01:00
box-default-debug-copies.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
box-uninit-bytes.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
bpf-alu32.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
branch-protection.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
call-llvm-intrinsics.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
call-tmps-lifetime.rs llvm: Accept new LLVM lifetime format 2025-08-11 22:00:41 +00:00
cast-optimized.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
cast-target-abi.rs Fix LoongArch C function ABI when passing/returning structs containing floats 2025-08-21 18:00:26 +08:00
catch-unwind.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
cdylib-external-inline-fns.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
cf-protection.rs Verify llvm-needs-components are not empty and match the --target value 2025-07-29 11:20:23 -07:00
cfguard-checks.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
cfguard-disabled.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
cfguard-nochecks.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
cfguard-non-msvc.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
char-ascii-branchless.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
char-escape-debug-no-bounds-check.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
checked_ilog.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
checked_math.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
clone-shims.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
clone_as_copy.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
codemodels.rs Verify llvm-needs-components are not empty and match the --target value 2025-07-29 11:20:23 -07:00
coercions.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
cold-call-declare-and-call.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
common_prim_int_ptr.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
comparison-operators-2-struct.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
comparison-operators-2-tuple.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
comparison-operators-newtype.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
const-array.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
const-vector.rs Fix tests/codegen-llvm/const-vector.rs test failure on riscv64 2025-07-23 11:23:36 +00:00
const_scalar_pair.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
constant-branch.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
consts.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
coroutine-debug-msvc.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
coroutine-debug.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
dead_on_return.rs Set dead_on_return attribute for indirect arguments 2025-08-11 12:39:23 +02:00
dealloc-no-unwind.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
debug-alignment.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
debug-column-msvc.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
debug-column.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
debug-compile-unit-path.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
debug-fndef-size.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
debug-limited.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
debug-line-directives-only.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
debug-line-tables-only.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
debug-linkage-name.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
debug-vtable.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
debuginfo-constant-locals.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
debuginfo-cyclic-structure.rs fix(debuginfo): disable overflow check for 2025-07-27 14:42:07 +03:00
debuginfo-generic-closure-env-names.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
debuginfo-inline-callsite-location.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
deduced-param-attrs.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
default-requires-uwtable.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
default-visibility.rs Ignore intrinsic calls in cross-crate-inlining cost model 2025-09-05 20:44:49 -04:00
direct-access-external-data.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
diverging-function-call-debuginfo.rs tests: Test line number in debuginfo for diverging function calls 2025-07-29 18:59:09 +02:00
dont_codegen_private_const_fn_only_used_in_const_eval.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
drop-in-place-noalias.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
drop.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
dst-offset.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
dst-vtable-align-nonzero.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
dst-vtable-size-range.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
ehcontguard_disabled.rs Verify llvm-needs-components are not empty and match the --target value 2025-07-29 11:20:23 -07:00
ehcontguard_enabled.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
emscripten-catch-unwind-js-eh.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
emscripten-catch-unwind-wasm-eh.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
enable-lto-unit-splitting.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
error-provide.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
export-no-mangle.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
external-no-mangle-fns.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
external-no-mangle-statics.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
f128-wasm32-callconv.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
fastcall-inreg.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
fatptr.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
fewer-names.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
fixed-x18.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
float_math.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
fn-impl-trait-self.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
fn-parameters-on-different-lines-debuginfo.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
force-frame-pointers.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
force-no-unwind-tables.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
force-unwind-tables.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
frame-pointer-cli-control.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
frame-pointer.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
function-arguments-noopt.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
function-arguments.rs Use captures(address) instead of captures(none) for indirect args 2025-08-26 16:16:23 +02:00
function-return.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
gdb_debug_script_load.rs Revert "Preserve the .debug_gdb_scripts section" 2025-08-06 18:01:07 +00:00
generic-debug.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
gep-index.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
gpu-kernel-abi.rs Add amdgpu to gpu-kernel test 2025-09-03 08:40:58 +02:00
i128-wasm32-callconv.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
i128-x86-align.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
i128-x86-callconv.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
indirect-branch-cs-prefix.rs Add -Zindirect-branch-cs-prefix option 2025-08-17 16:51:42 +02:00
infallible-unwrap-in-opt-z.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
inherit_overflow.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
inline-always-works-always.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
inline-debuginfo.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
inline-function-args-debug-info.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
inline-hint.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
instrument-mcount.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
integer-cmp.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
integer-overflow.rs Consolidate panicking functions in slice/index.rs 2025-08-21 11:07:25 +01:00
internalize-closures.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
intrinsic-no-unnamed-attr.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
is_val_statically_known.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
issue-97217.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
iter-repeat-n-trivial-drop.rs stabilize array repeat 2025-08-15 16:42:21 +00:00
layout-size-checks.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
lifetime_start_end.rs llvm: Accept new LLVM lifetime format 2025-08-11 22:00:41 +00:00
link-dead-code.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
link_section.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
llvm-ident.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
llvm_module_flags.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
loads.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
local-generics-in-exe-internalized.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
lto-removes-invokes.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
mainsubprogram.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
match-optimized.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
match-optimizes-away.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
match-unoptimized.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
maybeuninit-rvo.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
mem-replace-big-type.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
mem-replace-simple-type.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
merge-functions.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
method-declaration.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
min-function-alignment.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
mir-aggregate-no-alloca.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
mir-inlined-line-numbers.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
mir_zst_stores.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
move-before-nocapture-ref-arg.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
move-operands.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
naked-asan.rs Enforce correct number of arguments for "x86-interrupt" functions 2025-08-20 18:03:57 +03:00
no-alloca-inside-if-false.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
no-assumes-on-casts.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
no-dllimport-w-cross-lang-lto.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
no-jump-tables.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
no-plt.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
no-redundant-item-monomorphization.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
no_builtins-at-crate.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
noalias-box-off.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
noalias-box.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
noalias-flag.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
noalias-freeze.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
noalias-refcell.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
noalias-rwlockreadguard.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
noalias-unpin.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
noreturn-uninhabited.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
noreturnflag.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
nounwind.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
nrvo.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
optimize-attr-1.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
option-as-slice.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
option-niche-eq.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
overaligned-constant.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
packed.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
panic-abort-windows.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
panic-in-drop-abort.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
panic-unwind-default-uwtable.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
pattern_type_symbols.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
personality_lifetimes.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
pgo-counter-bias.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
pgo-instrumentation.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
pic-relocation-model.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
pie-relocation-model.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
placement-new.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
powerpc64le-struct-align-128.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
precondition-checks.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
ptr-arithmetic.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
ptr-read-metadata.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
range-attribute.rs Tell LLVM about read-only captures 2025-08-20 19:08:16 +02:00
range-loop.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
range_to_inclusive.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
read-only-capture-opt.rs Tell LLVM about read-only captures 2025-08-20 19:08:16 +02:00
README.md Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
refs.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
reg-struct-return.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
regparm-inreg.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
repeat-operand-zero-len.rs tests: fix RISC-V failures and adjust transmute-scalar.rs target 2025-08-18 19:37:13 +00:00
repeat-operand-zst-elem.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
repeat-trusted-len.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
retpoline.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
riscv-target-abi.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
rust-abi-arch-specific-adjustment.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
s390x-simd.rs update some s390x codegen tests 2025-08-20 16:35:33 +02:00
scalar-pair-bool.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
set-discriminant-invalid.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
skip-mono-inside-if-false.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
slice-as_chunks.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
slice-indexing.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
slice-init.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
slice-is-ascii.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
slice-iter-fold.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
slice-iter-len-eq-zero.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
slice-iter-nonnull.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
slice-last-elements-optimization.rs Consolidate panicking functions in slice/index.rs 2025-08-21 11:07:25 +01:00
slice-pointer-nonnull-unwrap.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
slice-position-bounds-check.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
slice-ref-equality.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
slice-reverse.rs Consolidate panicking functions in slice/index.rs 2025-08-21 11:07:25 +01:00
slice-split-at.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
slice-windows-no-bounds-check.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
slice_as_from_ptr_range.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
some-abis-do-extend-params-to-32-bits.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
some-global-nonnull.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
sparc-struct-abi.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
split-lto-unit.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
sroa-fragment-debuginfo.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
sse42-implies-crc32.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
stack-probes-inline.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
stack-protector.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
static-relocation-model-msvc.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
staticlib-external-inline-fns.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
step_by-overflow-checks.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
stores.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
string-push.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
swap-large-types.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
swap-small-types.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
target-cpu-on-functions.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
target-feature-inline-closure.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
target-feature-negative-implication.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
target-feature-overrides.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
terminating-catchpad.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
thread-local.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
tied-features-strength.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
to_vec.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
trailing_zeros.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
transmute-optimized.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
transmute-scalar.rs tests: fix RISC-V failures and adjust transmute-scalar.rs target 2025-08-18 19:37:13 +00:00
try_question_mark_nop.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
tune-cpu-on-functions.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
tuple-layout-opt.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
ub-checks.rs Verify llvm-needs-components are not empty and match the --target value 2025-07-29 11:20:23 -07:00
unchecked-float-casts.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
unchecked_shifts.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
uninhabited-transparent-return-abi.rs tests: fix RISC-V failures and adjust transmute-scalar.rs target 2025-08-18 19:37:13 +00:00
uninit-consts.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
uninit-repeat-in-aggregate.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
union-abi.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
union-aggregate.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
unwind-and-panic-abort.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
unwind-extern-exports.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
unwind-extern-imports.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
unwind-landingpad-cold.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
unwind-landingpad-inline.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
used_with_arg.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
var-names.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
vec-as-ptr.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
vec-calloc.rs Pass alloc-variant-zeroed to LLVM 2025-08-20 17:08:46 +01:00
vec-in-place.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
vec-iter-collect-len.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
vec-iter.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
vec-len-invariant.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
vec-optimizes-away.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
vec-reserve-extend.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
vec-shrink-panik.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
vec-with-capacity.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
vec_pop_push_noop.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
vecdeque-drain.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
vecdeque-nonempty-get-no-panic.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
vecdeque_no_panic.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
vecdeque_pop_push.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
virtual-call-attrs-issue-137646.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
virtual-function-elimination-32bit.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
virtual-function-elimination.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
vtable-loads.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
vtable-upcast.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
wasm_casts_trapping.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
wasm_exceptions.rs Don't special-case llvm.* as nounwind 2025-07-23 02:17:54 +03:00
zip.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
zst-offset.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00

The files here use the LLVM FileCheck framework, documented at https://llvm.org/docs/CommandGuide/FileCheck.html.

One extension worth noting is the use of revisions as custom prefixes for FileCheck. If your codegen test has different behavior based on the chosen target or different compiler flags that you want to exercise, you can use a revisions annotation, like so:

// revisions: aaa bbb
// [bbb] compile-flags: --flags-for-bbb

After specifying those variations, you can write different expected, or explicitly unexpected output by using <prefix>-SAME: and <prefix>-NOT:, like so:

// CHECK: expected code
// aaa-SAME: emitted-only-for-aaa
// aaa-NOT:                        emitted-only-for-bbb
// bbb-NOT:  emitted-only-for-aaa
// bbb-SAME:                       emitted-only-for-bbb