rust/tests/codegen
bors 59c808fcd9 Auto merge of #122387 - DianQK:re-enable-early-otherwise-branch, r=cjgillot
Re-enable the early otherwise branch optimization

Closes #95162. Fixes #119014.

This is the first part of #121397.

An invalid enum discriminant can come from anywhere. We have to check to see if all successors contain the discriminant statement. This should have a pass to hoist instructions.

r? cjgillot
2024-04-09 01:02:29 +00:00
..
auxiliary Also move the auxiliary file 2023-03-20 10:25:29 +00:00
avr [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
cffi add tests for PassMode::Cast fixes 2024-03-17 00:39:21 -04: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 [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
enum Add test case for #119014 2024-04-08 19:20:04 +08:00
instrument-coverage Remove unhelpful DEFINE_INTERNAL from filecheck flags 2024-02-23 11:29:01 +11:00
instrument-xray [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
intrinsics Auto merge of #118310 - scottmcm:three-way-compare, r=davidtwco 2024-04-02 19:21:44 +00:00
issues Limited to little endian target 2024-04-08 11:11:11 +08:00
lib-optimizations Ignore less tests in debug builds 2024-02-23 18:04:01 -05:00
loongarch-abi add -O to some tests which depend on attributes being added 2024-03-10 16:04:12 -04:00
macos [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
meta-filecheck Allow tests to specify a //@ filecheck-flags: header 2024-02-23 11:28:06 +11:00
naked-fn [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
non-terminate [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
remap_path_prefix [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
repr add -O to some tests which depend on attributes being added 2024-03-10 16:04:12 -04:00
riscv-abi [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
sanitizer Rollup merge of #123525 - maurer:no-id-dyn2, r=compiler-errors 2024-04-06 08:56:35 +02:00
simd Restore the test checks for wider_reduce_into_iter 2024-03-28 21:28:45 +08:00
simd-intrinsic fix use of platform_intrinsics in tests 2024-02-25 08:15:44 +01:00
src-hash-algorithm [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
unwind-abis Update test directives for wasm32-wasip1 2024-03-11 09:36:35 -07:00
aarch64-struct-align-128.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
abi-efiapi.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
abi-main-signature-16bit-c-int.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
abi-main-signature-32bit-c-int.rs Update test directives for wasm32-wasip1 2024-03-11 09:36:35 -07:00
abi-repr-ext.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
abi-sysv64.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
abi-x86_64_sysv.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
addr-of-mutate.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
adjustments.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
align-byval-alignment-mismatch.rs copy byval argument to alloca if alignment is insufficient 2024-03-11 09:38:54 -04:00
align-byval-vector.rs use [N x i8] for byval/sret types 2024-03-05 18:54:45 -05:00
align-byval.rs use [N x i8] for byval/sret types 2024-03-05 18:54:45 -05:00
align-enum.rs use [N x i8] for byval/sret types 2024-03-05 18:54:45 -05: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 Ignore less tests in debug builds 2024-02-23 18:04:01 -05:00
align-struct.rs use [N x i8] for byval/sret types 2024-03-05 18:54:45 -05: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-codegen.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
array-equality.rs Use generic NonZero in tests. 2024-02-25 12:03:48 +01:00
array-map.rs Ignore less tests in debug builds 2024-02-23 18:04:01 -05:00
array-optimized.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
ascii-char.rs Ignore less tests in debug builds 2024-02-23 18:04:01 -05: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 [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00: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 [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00: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 [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
autovectorize-f32x4.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
binary-search-index-no-bound-check.rs Ignore less tests in debug builds 2024-02-23 18:04:01 -05:00
bool-cmp.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00: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.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00: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 [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
cast-target-abi.rs disable crashing test on sparc 2024-03-17 13:40:27 -04:00
catch-unwind.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00: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 [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
cfguard-checks.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
cfguard-disabled.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
cfguard-nochecks.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
cfguard-non-msvc.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
char-ascii-branchless.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
codemodels.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
coercions.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
cold-call-declare-and-call.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
common_prim_int_ptr.rs refine common_prim test 2024-03-13 01:17:15 -04: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_scalar_pair.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
constant-branch.rs Use br instead of conditional when branching on constant 2024-02-23 10:52:55 +00:00
consts.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
coroutine-debug-msvc.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
coroutine-debug.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
dealloc-no-unwind.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00: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 [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
debug-compile-unit-path.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
debug-fndef-size.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +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 [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
debuginfo-generic-closure-env-names.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
debuginfo-inline-callsite-location.rs Update a test to support Symbol Mangling V0 2024-02-26 18:12:07 +01: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 [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00: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 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 [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
drop.rs Update test directives for wasm32-wasip1 2024-03-11 09:36:35 -07:00
dst-offset.rs use ptradd for vtable indexing 2024-03-10 22:47:30 -04:00
dst-vtable-align-nonzero.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00: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 [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
ehcontguard_enabled.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
enable-lto-unit-splitting.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00: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 [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
fewer-names.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
float_math.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00: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 [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
force-no-unwind-tables.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
force-unwind-tables.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
frame-pointer.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
function-arguments-noopt.rs use [N x i8] for byval/sret types 2024-03-05 18:54:45 -05:00
function-arguments.rs Auto merge of #122050 - erikdesjardins:sret, r=nikic 2024-03-11 04:45:27 +00: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 [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
generic-debug.rs Update test directives for wasm32-wasip1 2024-03-11 09:36:35 -07: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
global_asm.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
i128-x86-align.rs always use gep inbounds i8 (ptradd) for field offsets 2024-02-26 22:28:09 -05: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 [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
inline-debuginfo.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
inline-function-args-debug-info.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00: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 [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
integer-overflow.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
internalize-closures.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
intrinsic-no-unnamed-attr.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
is_val_statically_known.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
issue-97217.rs Ignore less tests in debug builds 2024-02-23 18:04:01 -05:00
iter-repeat-n-trivial-drop.rs Ignore less tests in debug builds 2024-02-23 18:04:01 -05:00
layout-size-checks.rs Ignore less tests in debug builds 2024-02-23 18:04:01 -05:00
lifetime_start_end.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
link_section.rs Update test directives for wasm32-wasip1 2024-03-11 09:36:35 -07:00
link-dead-code.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
llvm-ident.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
loads.rs Don't emit load metadata in debug mode 2024-03-25 18:32:45 +00: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 [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
mainsubprogram.rs Update test directives for wasm32-wasip1 2024-03-11 09:36:35 -07:00
mainsubprogramstart.rs Update test directives for wasm32-wasip1 2024-03-11 09:36:35 -07:00
match-optimized.rs Transforms match into an assignment statement 2024-04-08 19:00:53 +08:00
match-optimizes-away.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00: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 [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
mem-replace-big-type.rs use [N x i8] for byval/sret types 2024-03-05 18:54:45 -05:00
mem-replace-simple-type.rs Ignore less tests in debug builds 2024-02-23 18:04:01 -05: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_zst_stores.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
mir-inlined-line-numbers.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00: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
no_builtins-at-crate.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
no-assumes-on-casts.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00: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
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-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 [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
noreturn-uninhabited.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
noreturnflag.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
nounwind.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00: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 [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
option-as-slice.rs Remove an obsolete ignore-llvm-version 2024-03-17 10:52:00 -07:00
option-niche-eq.rs Remove SpecOptionPartialEq 2024-03-19 16:32:01 +00:00
overaligned-constant.rs Don't emit load metadata in debug mode 2024-03-25 18:32:45 +00:00
packed.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
panic-abort-windows.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00: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 Actually create ranged int types in the type system. 2024-04-08 12:02:19 +00:00
personality_lifetimes.rs Update test directives for wasm32-wasip1 2024-03-11 09:36:35 -07:00
pgo-counter-bias.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
pgo-instrumentation.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
pic-relocation-model.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
pie-relocation-model.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
powerpc64le-struct-align-128.rs Fix argument ABI for overaligned structs on ppc64le 2024-04-08 11:15:36 +09:00
precondition-checks.rs Avoid lowering code under dead SwitchInt targets 2024-03-12 19:01:04 -04:00
ptr-arithmetic.rs Ignore less tests in debug builds 2024-02-23 18:04:01 -05:00
ptr-read-metadata.rs Ignore less tests in debug builds 2024-02-23 18:04:01 -05:00
README.md
refs.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
repeat-trusted-len.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00: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 [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00: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 Ignore less tests in debug builds 2024-02-23 18:04:01 -05: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 less tests in debug builds 2024-02-23 18:04:01 -05:00
slice-position-bounds-check.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
slice-ref-equality.rs Use generic NonZero in tests. 2024-02-25 12:03:48 +01:00
slice-reverse.rs Ignore less tests in debug builds 2024-02-23 18:04:01 -05:00
slice-windows-no-bounds-check.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
some-abis-do-extend-params-to-32-bits.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00: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 [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
split-lto-unit.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
sroa-fragment-debuginfo.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
sse42-implies-crc32.rs Rollup merge of #120820 - CKingX:cpu-base-minimum, r=petrochenkov,ChrisDenton 2024-02-29 17:08:36 +01:00
stack-probes-inline.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00: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 [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00: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 [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
swap-large-types.rs Ignore less tests in debug builds 2024-02-23 18:04:01 -05:00
swap-small-types.rs Let codegen decide when to mem::swap with immediates 2024-03-17 11:59:18 -07: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 [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
target-feature-overrides.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
thin-lto.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00: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 [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
to_vec.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
trailing_zeros.rs Update the minimum external LLVM to 17 2024-03-17 10:11:04 -07:00
transmute-optimized.rs Use generic NonZero in tests. 2024-02-25 12:03:48 +01: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 [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
try_question_mark_nop.rs allow using scalarpair with a common prim of ptr/ptr-sized-int 2024-02-27 00:09:12 -05:00
tune-cpu-on-functions.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
tuple-layout-opt.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00: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 De-LLVM the unchecked shifts [MCP#693] 2024-03-30 03:32:11 -07:00
unchecked-float-casts.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +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 [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
unwind-and-panic-abort.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
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 [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_pop_push_noop.rs Fix test. 2024-03-29 15:37:43 -07: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 Ignore less tests in debug builds 2024-02-23 18:04:01 -05:00
vec-iter-collect-len.rs Ignore less tests in debug builds 2024-02-23 18:04:01 -05:00
vec-iter.rs Ignore less tests in debug builds 2024-02-23 18:04:01 -05: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
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
vecdeque-drain.rs Ignore less tests in debug builds 2024-02-23 18:04:01 -05:00
vecdeque-nonempty-get-no-panic.rs Ignore less tests in debug builds 2024-02-23 18:04:01 -05: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 Ignore less tests in debug builds 2024-02-23 18:04:01 -05:00
vtable-upcast.rs use ptradd for vtable indexing 2024-03-10 22:47:30 -04: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 Update test directives for wasm32-wasip1 2024-03-11 09:36:35 -07:00
zip.rs [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
zst-offset.rs use GEP inbounds for ZST and DST field offsets 2024-03-04 09:32:33 -05: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