rust/tests/codegen
Nicholas Nethercote 72800d3b89 Run rustfmt on tests/codegen/.
Except for `simd-intrinsic/`, which has a lot of files containing
multiple types like `u8x64` which really are better when hand-formatted.

There is a surprising amount of two-space indenting in this directory.

Non-trivial changes:
- `rustfmt::skip` needed in `debug-column.rs` to preserve meaning of the
  test.
- `rustfmt::skip` used in a few places where hand-formatting read more
  nicely: `enum/enum-match.rs`
- Line number adjustments needed for the expected output of
  `debug-column.rs` and `coroutine-debug.rs`.
2024-05-31 15:56:43 +10:00
..
auxiliary Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10:00
avr Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10:00
cffi Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10:00
cross-crate-inlining
debug-accessibility
dllimports Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10:00
enum Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10:00
float Fix assertion when attempting to convert f16 and f128 with as 2024-05-16 04:07:02 -05:00
instrument-coverage Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10:00
instrument-xray
intrinsics Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10:00
issues Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10: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
naked-fn Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10:00
non-terminate Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10:00
remap_path_prefix
repr Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10:00
riscv-abi Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10:00
sanitizer Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10:00
simd Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10:00
simd-intrinsic Fix tests and bless 2024-04-24 13:12:33 +01:00
src-hash-algorithm
unwind-abis Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10:00
aarch64-struct-align-128.rs Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10: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
abi-x86_64_sysv.rs Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10:00
abi-x86-interrupt.rs
addr-of-mutate.rs
adjustments.rs Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10:00
align-byval-alignment-mismatch.rs use [N x i8] for alloca types 2024-04-11 21:42:35 -04:00
align-byval-vector.rs
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
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
array-clone.rs
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-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
ascii-char.rs codegen tests: Tolerate nuw nsw on trunc 2024-04-11 17:20:08 +00:00
asm-clobber_abi.rs
asm-clobbers.rs
asm-goto.rs
asm-may_unwind.rs
asm-maybe-uninit.rs Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10:00
asm-multiple-options.rs
asm-options.rs
asm-powerpc-clobbers.rs
asm-sanitize-llvm.rs Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10:00
asm-target-clobbers.rs
async-closure-debug.rs
async-fn-debug-awaitee-field.rs
async-fn-debug-msvc.rs
async-fn-debug.rs
atomic-operations.rs
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
bpf-alu32.rs
branch-protection.rs Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10:00
call-llvm-intrinsics.rs
call-metadata.rs
cast-target-abi.rs Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10:00
catch-unwind.rs
cdylib-external-inline-fns.rs
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
checked_math.rs Make checked ops emit *unchecked* LLVM operations where feasible 2024-04-18 18:11:21 -07:00
codemodels.rs
coercions.rs Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10:00
cold-call-declare-and-call.rs
common_prim_int_ptr.rs refine common_prim test 2024-03-13 01:17:15 -04:00
comparison-operators-2-tuple.rs
comparison-operators-newtype.rs
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
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
debug-column-msvc.rs
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
debug-line-directives-only.rs
debug-line-tables-only.rs
debug-linkage-name.rs
debug-vtable.rs
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
deduced-param-attrs.rs
default-hidden-visibility.rs
default-requires-uwtable.rs
direct-access-external-data.rs
dont_codegen_private_const_fn_only_used_in_const_eval.rs Stop walking the bodies of statics for reachability, and evaluate them instead 2024-03-14 14:10:45 +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
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 Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10:00
enable-lto-unit-splitting.rs Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10:00
export-no-mangle.rs
external-no-mangle-fns.rs
external-no-mangle-statics.rs
fastcall-inreg.rs
fatptr.rs Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10:00
fewer-names.rs
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 Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10: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 Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10:00
function-return.rs
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 Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10:00
global_asm_include.rs
global_asm_x2.rs
global_asm.rs
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
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
inline-hint.rs
instrument-mcount.rs
integer-cmp.rs Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10: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 Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10:00
issue-97217.rs Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10:00
iter-repeat-n-trivial-drop.rs
layout-size-checks.rs
lifetime_start_end.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
link-dead-code.rs Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10:00
llvm_module_flags.rs
llvm-ident.rs
loads.rs Stabilize generic NonZero. 2024-04-22 18:48:47 +02:00
local-generics-in-exe-internalized.rs
lto-removes-invokes.rs Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10:00
mainsubprogram.rs Make more of the test suite run on Mac Catalyst 2024-05-28 12:31:33 +02:00
mainsubprogramstart.rs Make more of the test suite run on Mac Catalyst 2024-05-28 12:31:33 +02: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
maybeuninit-rvo.rs Add needs-unwind to codegen test 2024-04-25 11:44:32 +09:00
mem-replace-big-type.rs
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
method-declaration.rs
mir_zst_stores.rs Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10: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
move-before-nocapture-ref-arg.rs Update the minimum external LLVM to 17 2024-03-17 10:11:04 -07:00
move-operands.rs
no_builtins-at-crate.rs
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
no-jump-tables.rs
no-plt.rs
no-redundant-item-monomorphization.rs Port issue-7349 to a codegen test 2024-04-04 21:59:08 +01:00
noalias-box-off.rs
noalias-box.rs
noalias-flag.rs
noalias-freeze.rs Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10:00
noalias-refcell.rs
noalias-rwlockreadguard.rs
noalias-unpin.rs Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10:00
noreturn-uninhabited.rs
noreturnflag.rs Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10:00
nounwind.rs Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10:00
nrvo.rs
optimize-attr-1.rs Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10:00
option-as-slice.rs Stabilize generic NonZero. 2024-04-22 18:48:47 +02: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
panic-unwind-default-uwtable.rs
pattern_type_symbols.rs Actually create ranged int types in the type system. 2024-04-08 12:02:19 +00:00
personality_lifetimes.rs Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10:00
pgo-counter-bias.rs Make more of the test suite run on Mac Catalyst 2024-05-28 12:31:33 +02:00
pgo-instrumentation.rs Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +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
ptr-read-metadata.rs adapt a codegen test for llvm 19 2024-04-29 13:03:45 +00:00
README.md
refs.rs Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10:00
repeat-trusted-len.rs
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
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_from_ptr_range.rs
slice-as_chunks.rs
slice-indexing.rs Use unchecked_sub in str indexing 2024-04-06 14:09:03 -04:00
slice-init.rs
slice-iter-fold.rs
slice-iter-len-eq-zero.rs
slice-iter-nonnull.rs
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
slice-windows-no-bounds-check.rs Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10: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
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
stack-probes-inline.rs Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10:00
stack-protector.rs
static-relocation-model-msvc.rs Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10:00
staticlib-external-inline-fns.rs
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
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 Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10:00
thin-lto.rs Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10:00
thread-local.rs
tied-features-strength.rs Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10: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_identity.rs Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10:00
try_question_mark_nop.rs Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10: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_shifts.rs codegen tests: Tolerate nuw nsw on trunc 2024-04-11 17:20:08 +00:00
unchecked-float-casts.rs
uninit-consts.rs
union-abi.rs Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10:00
unwind-and-panic-abort.rs
unwind-extern-exports.rs Update test directives for wasm32-wasip1 2024-03-11 09:36:35 -07:00
unwind-extern-imports.rs Update test directives for wasm32-wasip1 2024-03-11 09:36:35 -07:00
unwind-landingpad-cold.rs
unwind-landingpad-inline.rs
used_with_arg.rs
var-names.rs
vec_pop_push_noop.rs Fix test. 2024-03-29 15:37:43 -07:00
vec-as-ptr.rs
vec-calloc.rs
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
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
vec-reserve-extend.rs
vec-shrink-panik.rs Update the minimum external LLVM to 17 2024-03-17 10:11:04 -07:00
vec-with-capacity.rs
vecdeque_no_panic.rs
vecdeque_pop_push.rs Add invariant to VecDeque::pop_* that len < cap if pop successful 2024-04-08 12:12:13 +02:00
vecdeque-drain.rs
vecdeque-nonempty-get-no-panic.rs
virtual-function-elimination-32bit.rs
virtual-function-elimination.rs
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
wasm_exceptions.rs Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10:00
zip.rs Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10:00
zst-offset.rs Run rustfmt on tests/codegen/. 2024-05-31 15:56:43 +10: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