rust/tests/codegen
2024-08-17 02:14:23 +01:00
..
auxiliary
avr Let InstCombine remove Clone shims inside Clone shims 2024-07-25 15:14:42 -04:00
cffi Use the aligned size for alloca at args when the pass mode is cast. 2024-07-02 06:33:35 +08:00
cross-crate-inlining
debug-accessibility
dllimports
enum Add range attribute to scalar function results and arguments 2024-08-11 19:40:44 +02: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
intrinsics make the codegen test also cover an ill-behaved arch, and add links 2024-08-12 11:42:38 +02:00
issues Rollup merge of #128759 - notriddle:notriddle/spec-to-string, r=workingjubilee,compiler-errors 2024-08-14 05:05:51 +02:00
lib-optimizations
loongarch-abi
macos
meta-filecheck
naked-fn Use -Zno-profiler-runtime instead of //@ needs-profiler-support 2024-06-14 13:31:46 +10:00
non-terminate
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
repr Auto merge of #128371 - andjo403:rangeAttribute, r=nikic 2024-08-12 10:20:00 +00:00
riscv-abi Let InstCombine remove Clone shims inside Clone shims 2024-07-25 15:14:42 -04:00
sanitizer unconditionally allow shadow call-stack for AArch64 whenever fixed-x18 is applied 2024-08-09 19:35:02 +08:00
simd Chore: add x86_amx_intrinsics feature flag to core/lib.rs and remove issue-120720-reduce-nan.rs 2024-08-04 03:08:18 +05:30
simd-intrinsic
src-hash-algorithm
unwind-abis Remove c_unwind from tests and fix tests 2024-06-19 13:54:55 +01:00
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
abi-main-signature-16bit-c-int.rs
abi-main-signature-32bit-c-int.rs
abi-repr-ext.rs
abi-sysv64.rs
abi-x86_64_sysv.rs
abi-x86-interrupt.rs
addr-of-mutate.rs
adjustments.rs
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
align-byval.rs
align-enum.rs
align-fn.rs
align-offset.rs
align-struct.rs
alloc-optimisation.rs
array-clone.rs
array-cmp.rs
array-codegen.rs
array-equality.rs
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
array-optimized.rs
array-repeat.rs update codegen test for array::repeat 2024-06-19 17:48:05 +02:00
ascii-char.rs
asm-clobber_abi.rs
asm-clobbers.rs
asm-goto.rs
asm-may_unwind.rs
asm-maybe-uninit.rs
asm-multiple-options.rs
asm-options.rs
asm-powerpc-clobbers.rs
asm-sanitize-llvm.rs
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 Reformat use declarations. 2024-07-29 08:26:52 +10:00
atomicptr.rs
autovectorize-f32x4.rs
binary-search-index-no-bound-check.rs
bool-cmp.rs
box-uninit-bytes.rs
bpf-alu32.rs
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
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 Use the aligned size for alloca at ret when the pass mode is cast. 2024-07-02 06:33:40 +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
cf-protection.rs
cfguard-checks.rs
cfguard-disabled.rs
cfguard-nochecks.rs
cfguard-non-msvc.rs
char-ascii-branchless.rs
checked_ilog.rs
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
codemodels.rs
coercions.rs
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
comparison-operators-newtype.rs
const_scalar_pair.rs
const-vector.rs const vector passed to codegen 2024-08-08 11:15:03 +01:00
constant-branch.rs
consts.rs
coroutine-debug-msvc.rs
coroutine-debug.rs
dealloc-no-unwind.rs
debug-alignment.rs
debug-column-msvc.rs
debug-column.rs
debug-compile-unit-path.rs
debug-fndef-size.rs
debug-limited.rs
debug-line-directives-only.rs
debug-line-tables-only.rs
debug-linkage-name.rs
debug-vtable.rs
debuginfo-constant-locals.rs
debuginfo-generic-closure-env-names.rs
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
default-hidden-visibility.rs
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
dont_codegen_private_const_fn_only_used_in_const_eval.rs
drop-in-place-noalias.rs
drop.rs
dst-offset.rs
dst-vtable-align-nonzero.rs
dst-vtable-size-range.rs
ehcontguard_disabled.rs
ehcontguard_enabled.rs
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
error-provide.rs Apply suggestion. 2024-06-16 17:19:25 +08:00
export-no-mangle.rs
external-no-mangle-fns.rs
external-no-mangle-statics.rs
fastcall-inreg.rs
fatptr.rs
fewer-names.rs
fixed-x18.rs
float_math.rs
fn-impl-trait-self.rs
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
force-unwind-tables.rs
frame-pointer.rs
function-arguments-noopt.rs
function-arguments.rs Add range attribute to scalar function results and arguments 2024-08-11 19:40:44 +02:00
function-return.rs
gdb_debug_script_load.rs
generic-debug.rs reenable some windows tests 2024-07-14 13:48:29 +03:00
global_asm_include.rs
global_asm_x2.rs
global_asm.rs
i128-x86-align.rs
infallible-unwrap-in-opt-z.rs
inherit_overflow.rs
inline-always-works-always.rs
inline-debuginfo.rs
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
instrument-mcount.rs
integer-cmp.rs
integer-overflow.rs
internalize-closures.rs
intrinsic-no-unnamed-attr.rs
is_val_statically_known.rs Fix is_val_statically_known for floats 2024-08-17 02:14:23 +01:00
issue-97217.rs
iter-repeat-n-trivial-drop.rs Implement UncheckedIterator directly for RepeatN 2024-08-01 21:58:34 -07:00
layout-size-checks.rs
lifetime_start_end.rs
link_section.rs
link-dead-code.rs
llvm_module_flags.rs
llvm-ident.rs
loads.rs
local-generics-in-exe-internalized.rs
lto-removes-invokes.rs
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
match-optimizes-away.rs
match-unoptimized.rs
maybeuninit-rvo.rs
mem-replace-big-type.rs
mem-replace-simple-type.rs
merge-functions.rs
method-declaration.rs
mir_zst_stores.rs
mir-aggregate-no-alloca.rs
mir-inlined-line-numbers.rs
move-before-nocapture-ref-arg.rs
move-operands.rs
no_builtins-at-crate.rs
no-assumes-on-casts.rs
no-dllimport-w-cross-lang-lto.rs
no-jump-tables.rs
no-plt.rs
no-redundant-item-monomorphization.rs
noalias-box-off.rs
noalias-box.rs
noalias-flag.rs
noalias-freeze.rs
noalias-refcell.rs
noalias-rwlockreadguard.rs
noalias-unpin.rs
noreturn-uninhabited.rs
noreturnflag.rs
nounwind.rs reenable some windows tests 2024-07-14 13:48:29 +03:00
nrvo.rs
optimize-attr-1.rs
option-as-slice.rs Use Option's discriminant as its size hint 2024-07-15 00:34:03 -07:00
option-niche-eq.rs
overaligned-constant.rs
packed.rs
panic-abort-windows.rs
panic-in-drop-abort.rs
panic-unwind-default-uwtable.rs
pattern_type_symbols.rs
personality_lifetimes.rs
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
pie-relocation-model.rs
powerpc64le-struct-align-128.rs
precondition-checks.rs
ptr-arithmetic.rs
ptr-read-metadata.rs
range-attribute.rs Add range attribute to scalar function results and arguments 2024-08-11 19:40:44 +02:00
README.md
refs.rs
repeat-trusted-len.rs
riscv-target-abi.rs
scalar-pair-bool.rs
set-discriminant-invalid.rs
skip-mono-inside-if-false.rs
slice_as_from_ptr_range.rs
slice-as_chunks.rs
slice-indexing.rs
slice-init.rs
slice-iter-fold.rs
slice-iter-len-eq-zero.rs
slice-iter-nonnull.rs
slice-pointer-nonnull-unwrap.rs Fix tests for 32 bits targets 2024-06-11 07:45:16 +00:00
slice-position-bounds-check.rs
slice-ref-equality.rs
slice-reverse.rs
slice-windows-no-bounds-check.rs
some-abis-do-extend-params-to-32-bits.rs
some-global-nonnull.rs
sparc-struct-abi.rs
split-lto-unit.rs
sroa-fragment-debuginfo.rs
sse42-implies-crc32.rs Fix codegen tests 2024-08-07 00:41:48 -04:00
stack-probes-inline.rs
stack-protector.rs
static-relocation-model-msvc.rs
staticlib-external-inline-fns.rs
step_by-overflow-checks.rs
stores.rs
swap-large-types.rs
swap-small-types.rs
target-cpu-on-functions.rs
target-feature-inline-closure.rs
target-feature-overrides.rs Add implied features to non-target-feature functions 2024-08-07 00:41:48 -04:00
thin-lto.rs
thread-local.rs
tied-features-strength.rs Add implied features to non-target-feature functions 2024-08-07 00:41:48 -04:00
to_vec.rs
trailing_zeros.rs
transmute-optimized.rs
transmute-scalar.rs
try_question_mark_nop.rs
tune-cpu-on-functions.rs
tuple-layout-opt.rs
ub-checks.rs
unchecked_shifts.rs
unchecked-float-casts.rs
uninit-consts.rs
union-abi.rs Adjust tests for x86 "Rust" ABI changes 2024-07-12 10:47:56 +01: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
unwind-landingpad-inline.rs
used_with_arg.rs
var-names.rs
vec_pop_push_noop.rs
vec-as-ptr.rs
vec-calloc.rs
vec-in-place.rs
vec-iter-collect-len.rs
vec-iter.rs
vec-len-invariant.rs
vec-optimizes-away.rs
vec-reserve-extend.rs
vec-shrink-panik.rs
vec-with-capacity.rs
vecdeque_no_panic.rs
vecdeque_pop_push.rs
vecdeque-drain.rs
vecdeque-nonempty-get-no-panic.rs
virtual-function-elimination-32bit.rs
virtual-function-elimination.rs
vtable-loads.rs
vtable-upcast.rs
wasm_casts_trapping.rs
wasm_exceptions.rs Fix wasm_exceptions test 2024-06-19 21:26:48 +01:00
zip.rs
zst-offset.rs

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