rust/tests/codegen
Matthias Krüger b21581d1cb
Rollup merge of #130466 - davidtwco:aarch64-transparent-test, r=jieyouxu
tests: add repr/transparent test for aarch64

Fixes #74396.

Moves `transparent-struct-ptr.rs` to `transparent-byval-struct-ptr.rs` and then adds a new `transparent-opaque-ptr.rs` for aarch64.
2024-09-18 09:03:52 +02:00
..
auxiliary Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
avr Let InstCombine remove Clone shims inside Clone shims 2024-07-25 15:14:42 -04:00
cffi Add `-Zlint-llvm-ir` 2024-08-29 18:12:31 +08:00
cross-crate-inlining [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
debug-accessibility [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
dllimports Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
enum Simplify the canonical clone method to copy 2024-09-14 13:30:35 +08:00
float Adjust tests for x86 "Rust" ABI changes 2024-07-12 10:47:56 +01:00
instrument-coverage Disallow setting built-in cfgs via set the command-line 2024-08-07 14:08:34 +02:00
instrument-xray [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
intrinsics Don't codegen `expect` in opt-level=0 2024-09-04 11:49:00 +00:00
issues ignore/fix layout-sensitive tests 2024-08-31 23:56:45 +02:00
lib-optimizations Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
loongarch-abi Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
macos Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
meta-filecheck Allow tests to specify a `//@ filecheck-flags:` header 2024-02-23 11:28:06 +11:00
naked-fn add repr to the allowlist for naked functions, and test that it works 2024-08-27 17:17:47 +02:00
non-terminate Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
patchable-function-entry Updated code for changes to RFC, added additional error handling, added 2024-06-25 19:00:02 +02:00
remap_path_prefix [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
repr tests: add repr/transparent test for aarch64 2024-09-17 13:29:44 +01:00
riscv-abi Let InstCombine remove Clone shims inside Clone shims 2024-07-25 15:14:42 -04:00
sanitizer riscv64imac: allow shadow call stack sanitizer 2024-08-29 21:48:48 +08:00
simd Ban non-array SIMD 2024-09-09 19:39:43 -07:00
simd-intrinsic Ban non-array SIMD 2024-09-09 19:39:43 -07:00
src-hash-algorithm [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
unwind-abis Remove c_unwind from tests and fix tests 2024-06-19 13:54:55 +01:00
README.md
aarch64-struct-align-128.rs Disallow setting built-in cfgs via set the command-line 2024-08-07 14:08:34 +02:00
abi-efiapi.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
abi-main-signature-16bit-c-int.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
abi-main-signature-32bit-c-int.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
abi-repr-ext.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
abi-sysv64.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
abi-x86-interrupt.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
abi-x86_64_sysv.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
addr-of-mutate.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
adjustments.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
align-byval-alignment-mismatch.rs Remove c_unwind from tests and fix tests 2024-06-19 13:54:55 +01:00
align-byval-vector.rs Ban non-array SIMD 2024-09-09 19:39:43 -07:00
align-byval.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
align-enum.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
align-fn.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
align-offset.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
align-struct.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
alloc-optimisation.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
array-clone.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
array-cmp.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
array-codegen.rs use [N x i8] for alloca types 2024-04-11 21:42:35 -04:00
array-equality.rs Stabilize generic `NonZero`. 2024-04-22 18:48:47 +02:00
array-from_fn.rs test(std): Add codegen test for array::from_fn optimization 2024-08-10 10:44:24 +08:00
array-map.rs use [N x i8] for alloca types 2024-04-11 21:42:35 -04:00
array-optimized.rs Remove my `scalar_copy_backend_type` optimization attempt 2024-04-09 08:51:32 -07:00
array-repeat.rs update codegen test for `array::repeat` 2024-06-19 17:48:05 +02:00
ascii-char.rs codegen tests: Tolerate `nuw` `nsw` on `trunc` 2024-04-11 17:20:08 +00:00
asm-clobber_abi.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
asm-clobbers.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
asm-goto.rs Add tests for asm goto 2024-02-24 19:49:16 +00:00
asm-may_unwind.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
asm-maybe-uninit.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
asm-multiple-options.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
asm-options.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
asm-powerpc-clobbers.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
asm-sanitize-llvm.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
asm-target-clobbers.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
async-closure-debug.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
async-fn-debug-awaitee-field.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
async-fn-debug-msvc.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
async-fn-debug.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
atomic-operations.rs Reformat `use` declarations. 2024-07-29 08:26:52 +10:00
atomicptr.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
autovectorize-f32x4.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
binary-search-index-no-bound-check.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
bool-cmp.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
box-uninit-bytes.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
bpf-alu32.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
branch-protection-old-llvm.rs Set branch protection function attributes 2024-07-24 17:13:25 +02:00
branch-protection.rs Set branch protection function attributes 2024-07-24 17:13:25 +02:00
call-llvm-intrinsics.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
call-metadata.rs Add range attribute to scalar function results and arguments 2024-08-11 19:40:44 +02:00
cast-optimized.rs Add range attribute to scalar function results and arguments 2024-08-11 19:40:44 +02:00
cast-target-abi.rs Add `-Zlint-llvm-ir` 2024-08-29 18:12:31 +08:00
catch-unwind.rs Remove c_unwind from tests and fix tests 2024-06-19 13:54:55 +01:00
cdylib-external-inline-fns.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
cf-protection.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
cfguard-checks.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
cfguard-disabled.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
cfguard-nochecks.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
cfguard-non-msvc.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
char-ascii-branchless.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
checked_ilog.rs add codegen test 2024-04-23 18:31:57 +02:00
checked_math.rs Also get `add nuw` from `uN::checked_add` 2024-06-23 13:29:06 -07:00
clone-shims.rs Let InstCombine remove Clone shims inside Clone shims 2024-07-25 15:14:42 -04:00
clone_as_copy.rs Simplify the canonical clone method to copy 2024-09-14 13:30:35 +08:00
codemodels.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
coercions.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
cold-call-declare-and-call.rs Disallow setting built-in cfgs via set the command-line 2024-08-07 14:08:34 +02:00
common_prim_int_ptr.rs Add range attribute to scalar function results and arguments 2024-08-11 19:40:44 +02:00
comparison-operators-2-tuple.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
comparison-operators-newtype.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
const-vector.rs Ban non-array SIMD 2024-09-09 19:39:43 -07:00
const_scalar_pair.rs Fix tests and bless 2024-04-24 13:12:33 +01:00
constant-branch.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
consts.rs Use FileCheck to parameterize codegen tests over hashes 2024-06-04 01:30:51 -07:00
coroutine-debug-msvc.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
coroutine-debug.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
dealloc-no-unwind.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
debug-alignment.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
debug-column-msvc.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
debug-column.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
debug-compile-unit-path.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
debug-fndef-size.rs Adjust dbg.value/dbg.declare checks for LLVM update 2024-05-06 23:15:48 +00:00
debug-limited.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
debug-line-directives-only.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
debug-line-tables-only.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
debug-linkage-name.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
debug-vtable.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
debuginfo-constant-locals.rs Adjust dbg.value/dbg.declare checks for LLVM update 2024-05-06 23:15:48 +00:00
debuginfo-generic-closure-env-names.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
debuginfo-inline-callsite-location.rs Rework MIR inlining debuginfo so function parameters show up in debuggers. 2024-08-12 19:20:00 -07:00
deduced-param-attrs.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
default-hidden-visibility.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
default-requires-uwtable.rs Disallow setting built-in cfgs via set the command-line 2024-08-07 14:08:34 +02:00
direct-access-external-data.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
dont_codegen_private_const_fn_only_used_in_const_eval.rs Also support generic constants 2024-06-05 15:40:11 +00:00
drop-in-place-noalias.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
drop.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
dst-offset.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
dst-vtable-align-nonzero.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
dst-vtable-size-range.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
ehcontguard_disabled.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
ehcontguard_enabled.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
emcripten-catch-unwind.rs Let InstCombine remove Clone shims inside Clone shims 2024-07-25 15:14:42 -04:00
enable-lto-unit-splitting.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
error-provide.rs Apply suggestion. 2024-06-16 17:19:25 +08:00
export-no-mangle.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
external-no-mangle-fns.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
external-no-mangle-statics.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
fastcall-inreg.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
fatptr.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
fewer-names.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
fixed-x18.rs Add -Zfixed-x18 2024-05-03 14:32:08 +02:00
float_math.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
fn-impl-trait-self.rs Update test directives for `wasm32-wasip1` 2024-03-11 09:36:35 -07:00
foo.s
force-frame-pointers.rs test: ignore force-frame-pointers test on some targets 2024-06-23 00:40:43 -07:00
force-no-unwind-tables.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
force-unwind-tables.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
frame-pointer.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
function-arguments-noopt.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
function-arguments.rs Add range attribute to scalar function results and arguments 2024-08-11 19:40:44 +02:00
function-return.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
gdb_debug_script_load.rs Make more of the test suite run on Mac Catalyst 2024-05-28 12:31:33 +02:00
generic-debug.rs reenable some windows tests 2024-07-14 13:48:29 +03:00
global_asm.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
global_asm_include.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
global_asm_x2.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
i128-x86-align.rs use [N x i8] for alloca types 2024-04-11 21:42:35 -04:00
infallible-unwrap-in-opt-z.rs Ignore less tests in debug builds 2024-02-23 18:04:01 -05:00
inherit_overflow.rs Codegen const panic messages as function calls 2024-03-22 09:55:50 -04:00
inline-always-works-always.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
inline-debuginfo.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
inline-function-args-debug-info.rs Rework MIR inlining debuginfo so function parameters show up in debuggers. 2024-08-12 19:20:00 -07:00
inline-hint.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
instrument-mcount.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
integer-cmp.rs llvm 20: adapt integer comparison tests 2024-08-22 13:23:00 +00:00
integer-overflow.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
internalize-closures.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
intrinsic-no-unnamed-attr.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
is_val_statically_known.rs Fix `is_val_statically_known` for floats 2024-08-17 02:14:23 +01:00
issue-97217.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
iter-repeat-n-trivial-drop.rs Implement `UncheckedIterator` directly for `RepeatN` 2024-08-01 21:58:34 -07:00
layout-size-checks.rs Ignore less tests in debug builds 2024-02-23 18:04:01 -05:00
lifetime_start_end.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
link-dead-code.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
link_section.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
llvm-ident.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
llvm_module_flags.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
loads.rs Stabilize generic `NonZero`. 2024-04-22 18:48:47 +02:00
local-generics-in-exe-internalized.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
lto-removes-invokes.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
mainsubprogram.rs reenable some windows tests 2024-07-14 13:48:29 +03:00
mainsubprogramstart.rs reenable some windows tests 2024-07-14 13:48:29 +03:00
match-optimized.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
match-optimizes-away.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
match-unoptimized.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
maybeuninit-rvo.rs Add needs-unwind to codegen test 2024-04-25 11:44:32 +09:00
mem-replace-big-type.rs ignore/fix layout-sensitive tests 2024-08-31 23:56:45 +02:00
mem-replace-simple-type.rs At debuginfo=0, don't inline debuginfo when inlining 2024-04-18 09:35:35 -07:00
merge-functions.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
method-declaration.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
mir-aggregate-no-alloca.rs Unify `Rvalue::Aggregate` paths in cg_ssa 2024-05-11 21:22:51 -07:00
mir-inlined-line-numbers.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
mir_zst_stores.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
move-before-nocapture-ref-arg.rs Update the minimum external LLVM to 17 2024-03-17 10:11:04 -07:00
move-operands.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
naked-asan.rs adapt a test for llvm 20 2024-09-09 13:29:47 +00:00
no-assumes-on-casts.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
no-dllimport-w-cross-lang-lto.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
no-jump-tables.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
no-plt.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
no-redundant-item-monomorphization.rs Port issue-7349 to a codegen test 2024-04-04 21:59:08 +01:00
no_builtins-at-crate.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
noalias-box-off.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
noalias-box.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
noalias-flag.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
noalias-freeze.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
noalias-refcell.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
noalias-rwlockreadguard.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
noalias-unpin.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
noreturn-uninhabited.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
noreturnflag.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
nounwind.rs reenable some windows tests 2024-07-14 13:48:29 +03:00
nrvo.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
optimize-attr-1.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
option-as-slice.rs Use Option's discriminant as its size hint 2024-07-15 00:34:03 -07:00
option-niche-eq.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
overaligned-constant.rs use [N x i8] for alloca types 2024-04-11 21:42:35 -04:00
packed.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
panic-abort-windows.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
panic-in-drop-abort.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
panic-unwind-default-uwtable.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
pattern_type_symbols.rs Use FileCheck to parameterize codegen tests over hashes 2024-06-04 01:30:51 -07:00
personality_lifetimes.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
pgo-counter-bias.rs Use `-Zno-profiler-runtime` instead of `//@ needs-profiler-support` 2024-06-14 13:31:46 +10:00
pgo-instrumentation.rs Use `-Zno-profiler-runtime` instead of `//@ needs-profiler-support` 2024-06-14 13:31:46 +10:00
pic-relocation-model.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
pie-relocation-model.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
powerpc64le-struct-align-128.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
precondition-checks.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
ptr-arithmetic.rs Ignore less tests in debug builds 2024-02-23 18:04:01 -05:00
ptr-read-metadata.rs adapt a codegen test for llvm 19 2024-04-29 13:03:45 +00:00
range-attribute.rs Add range attribute to scalar function results and arguments 2024-08-11 19:40:44 +02:00
refs.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
repeat-trusted-len.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
riscv-target-abi.rs Set target-abi module flag for RISC-V targets 2024-04-09 05:25:51 +02:00
scalar-pair-bool.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
set-discriminant-invalid.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
skip-mono-inside-if-false.rs Avoid lowering code under dead SwitchInt targets 2024-03-12 19:01:04 -04:00
slice-as_chunks.rs Ignore less tests in debug builds 2024-02-23 18:04:01 -05:00
slice-indexing.rs Use unchecked_sub in str indexing 2024-04-06 14:09:03 -04:00
slice-init.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
slice-iter-fold.rs Ignore less tests in debug builds 2024-02-23 18:04:01 -05:00
slice-iter-len-eq-zero.rs Ignore less tests in debug builds 2024-02-23 18:04:01 -05:00
slice-iter-nonnull.rs ignore/fix layout-sensitive tests 2024-08-31 23:56:45 +02:00
slice-pointer-nonnull-unwrap.rs Fix tests for 32 bits targets 2024-06-11 07:45:16 +00:00
slice-position-bounds-check.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
slice-ref-equality.rs Stabilize generic `NonZero`. 2024-04-22 18:48:47 +02:00
slice-reverse.rs Ignore less tests in debug builds 2024-02-23 18:04:01 -05:00
slice-windows-no-bounds-check.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
slice_as_from_ptr_range.rs Ignore less tests in debug builds 2024-02-23 18:04:01 -05:00
some-abis-do-extend-params-to-32-bits.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
some-global-nonnull.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
sparc-struct-abi.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
split-lto-unit.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
sroa-fragment-debuginfo.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
sse42-implies-crc32.rs Fix codegen tests 2024-08-07 00:41:48 -04:00
stack-probes-inline.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
stack-protector.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
static-relocation-model-msvc.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
staticlib-external-inline-fns.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
step_by-overflow-checks.rs Don't emit divide-by-zero panic paths in `StepBy::len` 2024-04-06 11:37:57 -07:00
stores.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
swap-large-types.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
swap-small-types.rs use [N x i8] for alloca types 2024-04-11 21:42:35 -04:00
target-cpu-on-functions.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
target-feature-inline-closure.rs Add inline comments why we're forcing the target cpu 2024-05-01 16:54:20 -07:00
target-feature-overrides.rs Add implied features to non-target-feature functions 2024-08-07 00:41:48 -04:00
thin-lto.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
thread-local.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
tied-features-strength.rs tests: Update with new aarch64 target features 2024-08-27 12:06:30 +00:00
to_vec.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
trailing_zeros.rs Update the minimum external LLVM to 17 2024-03-17 10:11:04 -07:00
transmute-optimized.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
transmute-scalar.rs Lower transmutes from int to pointer type as gep on null 2024-03-11 18:19:17 -04:00
try_question_mark_nop.rs tests: allow trunc/select instructions to be missing 2024-09-17 08:55:26 -04:00
tune-cpu-on-functions.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
tuple-layout-opt.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
ub-checks.rs Put checks that detect UB under their own flag below debug_assertions 2024-04-06 11:21:47 -04:00
unchecked-float-casts.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
unchecked_shifts.rs codegen tests: Tolerate `nuw` `nsw` on `trunc` 2024-04-11 17:20:08 +00:00
uninit-consts.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
union-abi.rs Ban non-array SIMD 2024-09-09 19:39:43 -07:00
unwind-and-panic-abort.rs Remove c_unwind from tests and fix tests 2024-06-19 13:54:55 +01:00
unwind-extern-exports.rs Remove c_unwind from tests and fix tests 2024-06-19 13:54:55 +01:00
unwind-extern-imports.rs Remove c_unwind from tests and fix tests 2024-06-19 13:54:55 +01:00
unwind-landingpad-cold.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
unwind-landingpad-inline.rs Ignore less tests in debug builds 2024-02-23 18:04:01 -05:00
used_with_arg.rs
var-names.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
vec-as-ptr.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
vec-calloc.rs Ignore less tests in debug builds 2024-02-23 18:04:01 -05:00
vec-in-place.rs add codegen test for issue 120493 2024-05-20 09:21:09 -05:00
vec-iter-collect-len.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
vec-iter.rs Ignore less tests in debug builds 2024-02-23 18:04:01 -05:00
vec-len-invariant.rs Avoid reloading Vec::len across grow_one in push 2024-04-20 21:07:00 -04:00
vec-optimizes-away.rs Ignore less tests in debug builds 2024-02-23 18:04:01 -05:00
vec-reserve-extend.rs Ignore less tests in debug builds 2024-02-23 18:04:01 -05:00
vec-shrink-panik.rs Update the minimum external LLVM to 17 2024-03-17 10:11:04 -07:00
vec-with-capacity.rs try_with_capacity for Vec, VecDeque, String 2024-03-01 18:24:02 +00:00
vec_pop_push_noop.rs Fix test. 2024-03-29 15:37:43 -07:00
vecdeque-drain.rs ignore/fix layout-sensitive tests 2024-08-31 23:56:45 +02:00
vecdeque-nonempty-get-no-panic.rs Ignore less tests in debug builds 2024-02-23 18:04:01 -05:00
vecdeque_no_panic.rs Ignore less tests in debug builds 2024-02-23 18:04:01 -05:00
vecdeque_pop_push.rs Add invariant to VecDeque::pop_* that len < cap if pop successful 2024-04-08 12:12:13 +02:00
virtual-function-elimination-32bit.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
virtual-function-elimination.rs Use FileCheck to parameterize codegen tests over hashes 2024-06-04 01:30:51 -07:00
vtable-loads.rs Omit non-needs_drop drop_in_place in vtables 2024-05-27 16:26:56 -04:00
vtable-upcast.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
wasm_casts_trapping.rs [AUTO_GENERATED] Migrate compiletest to use `ui_test`-style `//@` directives 2024-02-22 16:04:04 +00:00
wasm_exceptions.rs Fix wasm_exceptions test 2024-06-19 21:26:48 +01:00
zip.rs Run rustfmt on `tests/codegen/`. 2024-05-31 15:56:43 +10:00
zst-offset.rs Ban non-array SIMD 2024-09-09 19:39:43 -07:00

README.md

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