rust/src/test/codegen
AngelicosPhosphoros 4464cc2256 Simplify logical operations CFG
This is basically same commit as e38e954a0d which was reverted later in 676953fde9
In both cases, this changes weren't benchmarked.
e38e954a0d leads to missed optimization described in [this issue](https://github.com/rust-lang/rust/issues/62993)
676953fde9 leads to missed optimization described in [this issue](https://github.com/rust-lang/rust/issues/83623)

Also it changes some src/test/run-make-fulldeps/coverage-spanview/expected_mir_dump* files automatically.
2021-04-01 18:34:11 +03:00
..
auxiliary Remove licenses 2018-12-25 21:08:33 -07:00
avr Assert that locals have storage when used 2020-10-31 21:06:29 +01:00
dllimports Drop support for cloudabi targets 2020-11-22 17:11:41 -05:00
intrinsics remove move_val_init leftovers 2020-12-31 10:53:37 +01:00
non-terminate Remove the -Zinsert-sideeffect 2021-03-10 12:21:43 +02:00
remap_path_prefix Add hash of source files in debug info 2020-04-02 14:13:19 -07:00
riscv-abi Update tests for extern block linting 2021-01-13 07:49:16 -05:00
simd-intrinsic Update the minimum external LLVM to 10 2021-03-22 11:33:43 -07:00
src-hash-algorithm Add support for SHA256 source file hashing for LLVM 11+. 2020-10-14 15:09:51 -07:00
unwind-abis implement unwinding abi's (RFC 2945) 2021-03-09 14:38:29 -05:00
abi-efiapi.rs fully exploited the dropped support of LLVM 8 2020-11-12 14:39:47 +01:00
abi-main-signature-16bit-c-int.rs test: codegen: skip tests inappropriate for riscv64 2020-06-04 12:02:03 +01:00
abi-main-signature-32bit-c-int.rs Update codegen tests with unnamed arguments 2020-01-07 21:28:22 +01:00
abi-repr-ext.rs Consider Scalar to be a bool only if its unsigned 2021-01-30 00:49:10 +02:00
abi-sysv64.rs test: codegen: skip tests inappropriate for riscv64 2020-06-04 12:02:03 +01:00
abi-x86-interrupt.rs test: codegen: skip tests inappropriate for riscv64 2020-06-04 12:02:03 +01:00
abi-x86_64_sysv.rs Remove licenses 2018-12-25 21:08:33 -07:00
adjustments.rs codegen: use "_N" (like for other locals) instead of "argN", for argument names. 2019-09-13 19:25:05 +03:00
align-enum.rs Disable MIR optimization for alignment codegen tests 2020-05-16 17:15:24 -07:00
align-struct.rs Disable MIR optimization for alignment codegen tests 2020-05-16 17:15:24 -07:00
alloc-optimisation.rs Mark inline asm tests as requiring LLVM 10.0.1 2021-03-25 20:21:58 +00:00
arg-return-value-in-reg.rs make test work in llvm 9 2020-11-30 01:21:47 -05:00
asm-multiple-options.rs Add codegen test for multiple asm! options 2020-06-20 11:12:42 -07:00
asm-options.rs Add tests for asm! 2020-05-18 14:41:32 +01:00
asm-sanitize-llvm.rs Add a test for escaping LLVMisms in inline asm 2021-02-06 15:18:37 +02:00
async-fn-debug-msvc.rs Split out async fn and generator test 2020-06-24 15:08:59 -07:00
async-fn-debug.rs Split out async fn and generator test 2020-06-24 15:08:59 -07:00
atomic-operations.rs Test codegen of compare_exchange operations 2020-07-17 00:00:00 +00:00
binary-search-index-no-bound-check.rs Add codegen test checking binary_search allows eliding bound checks 2021-03-06 11:29:57 +01:00
bool-cmp.rs Update bool-cmp.rs codegen 2020-01-07 21:28:22 +01:00
box-maybe-uninit.rs stabilize core parts of MaybeUninit and deprecate mem::uninitialized in the future 2019-05-20 10:44:02 +02:00
c-variadic-copy.rs Expose VaListImpl as the Rust equivalent of __va_list_tag and implement Clone for it. 2019-06-17 16:04:49 -07:00
c-variadic-opt.rs Expose VaListImpl as the Rust equivalent of __va_list_tag and implement Clone for it. 2019-06-17 16:04:49 -07:00
c-variadic.rs Use call instead of invoke for functions that cannot unwind 2020-04-15 05:45:21 -04:00
call-llvm-intrinsics.rs Update tests for extern block linting 2021-01-13 07:49:16 -05:00
call-metadata.rs Remove licenses 2018-12-25 21:08:33 -07:00
catch-unwind.rs test: codegen: skip catch-unwind on riscv64 2020-06-04 12:15:26 +01:00
cdylib-external-inline-fns.rs Fix exports with #[inline(always)] 2020-06-15 09:40:56 +01:00
cfguard-checks.rs Stabilize control-flow-guard codegen option 2020-07-14 15:27:42 +01:00
cfguard-disabled.rs Stabilize control-flow-guard codegen option 2020-07-14 15:27:42 +01:00
cfguard-nochecks.rs Stabilize control-flow-guard codegen option 2020-07-14 15:27:42 +01:00
cfguard-non-msvc.rs Stabilize control-flow-guard codegen option 2020-07-14 15:27:42 +01:00
codemodels.rs Use only x86_64 flag 2021-03-14 01:46:00 +09:00
coercions.rs Remove licenses 2018-12-25 21:08:33 -07:00
consts.rs Make codegen test bitwidth-independent 2020-09-20 09:09:56 +02:00
dealloc-no-unwind.rs Update tests for extern block linting 2021-01-13 07:49:16 -05:00
debug-column-msvc.rs Test that column information is not emitted for MSVC targets 2020-02-26 21:45:34 +01:00
debug-column.rs Update tests for extern block linting 2021-01-13 07:49:16 -05:00
debug-compile-unit-path.rs Test CU directory is the work_dir 2021-02-20 15:56:36 +02:00
debug-linkage-name.rs Update code to account for extern ABI requirement 2021-01-13 07:49:45 -05:00
default-requires-uwtable.rs Allow not emitting uwtable on Android 2021-03-23 04:39:58 +08:00
drop.rs Deprecate items that accidentally weren't deprecated 2021-03-09 19:09:20 -05:00
enum-bounds-check-derived-idx.rs Add codegen tests 2020-08-31 08:19:15 +02:00
enum-bounds-check-issue-13926.rs Add codegen tests 2020-08-31 08:19:15 +02:00
enum-bounds-check-issue-82871.rs Emit the enum range assumption if the range only contains one element 2021-03-12 12:06:10 +08:00
enum-bounds-check.rs Add codegen tests 2020-08-31 08:19:15 +02:00
enum-debug-clike.rs Update the minimum external LLVM to 8 2020-04-14 12:44:41 -07:00
enum-debug-niche-2.rs Update the minimum external LLVM to 8 2020-04-14 12:44:41 -07:00
enum-debug-niche.rs Update the minimum external LLVM to 8 2020-04-14 12:44:41 -07:00
enum-debug-tagged.rs Update the minimum external LLVM to 8 2020-04-14 12:44:41 -07:00
enum-discriminant-value.rs Update tests to remove old numeric constants 2020-11-29 00:55:55 -05:00
export-no-mangle.rs Update code to account for extern ABI requirement 2021-01-13 07:49:45 -05:00
external-no-mangle-fns.rs Fix exports with #[inline(always)] 2020-06-15 09:40:56 +01:00
external-no-mangle-statics.rs Upgrade Emscripten targets to use upstream LLVM backend 2019-10-16 17:06:48 -07:00
fastcall-inreg.rs test: codegen: skip tests inappropriate for riscv64 2020-06-04 12:02:03 +01:00
fatptr.rs Remove licenses 2018-12-25 21:08:33 -07:00
fewer-names.rs Allow using -Z fewer-names=no to retain value names 2020-11-23 00:00:00 +00:00
ffi-const.rs Update tests for extern block linting 2021-01-13 07:49:16 -05:00
ffi-out-of-bounds-loads.rs Update tests for extern block linting 2021-01-13 07:49:16 -05:00
ffi-pure.rs Update tests for extern block linting 2021-01-13 07:49:16 -05:00
ffi-returns-twice.rs Update tests for extern block linting 2021-01-13 07:49:16 -05:00
float_math.rs Remove licenses 2018-12-25 21:08:33 -07:00
fn-impl-trait-self.rs Add codegen test 2019-03-31 20:09:30 -04:00
foo.s Add global_asm tests 2017-04-12 19:12:50 -05:00
force-frame-pointers.rs Update the minimum external LLVM to 8 2020-04-14 12:44:41 -07:00
force-no-unwind-tables.rs Allow not emitting uwtable on Android 2021-03-23 04:39:58 +08:00
force-unwind-tables.rs fully exploited the dropped support of LLVM 8 2020-11-12 14:39:47 +01:00
function-arguments.rs Don't compute optimized PointerKind for unoptimized builds 2021-03-21 20:54:42 +01:00
gdb_debug_script_load.rs Disable gdb pretty printer global section on wasm targets 2019-12-04 20:15:21 -08:00
generator-debug-msvc.rs Split out async fn and generator test 2020-06-24 15:08:59 -07:00
generator-debug.rs Split out async fn and generator test 2020-06-24 15:08:59 -07:00
generic-debug.rs Remove unnecessary ignore-tidy-linelength 2019-04-23 11:42:14 +01:00
global_asm.rs Remove licenses 2018-12-25 21:08:33 -07:00
global_asm_include.rs Remove licenses 2018-12-25 21:08:33 -07:00
global_asm_x2.rs Remove licenses 2018-12-25 21:08:33 -07:00
i686-macosx-deployment-target.rs choose a more specific LLVM target on OS X when necessary 2019-05-07 11:09:39 -04:00
i686-no-macosx-deployment-target.rs default to $ARCH-apple-macosx10.7.0 LLVM triple for darwin targets 2019-05-13 17:04:59 -04:00
inline-always-works-always.rs Support revisions for codegen tests 2019-01-24 20:13:51 +02:00
inline-debuginfo.rs Ignore long lines in test 2020-10-26 14:09:27 +00:00
inline-hint.rs Fix setting inline hint based on InstanceDef::requires_inline 2020-11-17 00:00:00 +00:00
instrument-mcount.rs Update the minimum external LLVM to 8 2020-04-14 12:44:41 -07:00
integer-cmp.rs Small improvement for Ord implementation of integers 2019-08-29 03:52:18 +00:00
integer-overflow.rs Added a codegen test for a recent optimization for overflow-checks=on 2020-05-24 16:20:02 -04:00
internalize-closures.rs Ensure that closure call is not removed by MIR optimizations in a test 2020-11-12 00:00:00 +00:00
intrinsic-no-unnamed-attr.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-13018.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-15953.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-27130.rs Make sure the functions don't get merged 2020-08-28 01:16:20 +02:00
issue-32031.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-32364.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-34634.rs Add test for issue #34634 2020-09-20 11:15:00 +02:00
issue-34947-pow-i32.rs Gate llvm.sideeffect under -Z insert-sideeffect 2019-09-28 07:13:53 +08:00
issue-37945.rs Fix codegen test for issue 37945 2020-11-12 00:00:00 +00:00
issue-44056-macos-tls-align.rs Ignore changes when debug assertions are enabled. 2020-07-09 10:41:33 -07:00
issue-45222.rs Disable failing codegen test 2020-02-08 18:47:41 -05:00
issue-45466.rs ignore some codegen tests in debug mode 2019-07-15 16:56:43 +02:00
issue-45964-bounds-check-slice-pos.rs Add codegen test for #45964 2020-10-23 01:15:08 +02:00
issue-47278.rs Update code to account for extern ABI requirement 2021-01-13 07:49:45 -05:00
issue-47442.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-56267-2.rs rustc_codegen_llvm: don't overalign loads of pair operands. 2018-11-29 00:37:38 +02:00
issue-56267.rs Fix alignment of stores to scalar pair 2018-11-28 00:31:03 +01:00
issue-56927.rs Update tests to remove old numeric constants 2020-11-29 00:55:55 -05:00
issue-58881.rs Fix LLVM IR generated for C-variadic arguments 2019-03-31 17:37:37 +00:00
issue-59352.rs Bump mir-opt-level from 2 to 3 in tests 2021-03-05 17:13:57 -03:00
issue-69101-bounds-check.rs Slightly improve panic messages when range indices are out of bounds 2020-07-20 00:40:42 +02:00
issue-73031.rs add codegen tests for some issues closed by LLVM 12 2021-03-07 17:56:09 -05:00
issue-73396-bounds-check-after-position.rs Test that bounds checks are elided for indexing after .[r]position() 2020-09-14 22:19:48 -04:00
issue-73827-bounds-check-index-in-subexpr.rs Add codegen test for issue #73827 2020-10-17 13:18:29 +02:00
issue-75525-bounds-checks.rs Add regression test for #75525 2021-03-05 16:01:46 +01:00
issue-75546.rs add codegen tests for some issues closed by LLVM 12 2021-03-07 17:56:09 -05:00
issue-75659.rs Only test on x86_64 2020-10-01 16:02:32 +02:00
issue-77812.rs add codegen tests for some issues closed by LLVM 12 2021-03-07 17:56:09 -05:00
issue-83623-SIMD-PartialEq.rs Simplify logical operations CFG 2021-04-01 18:34:11 +03:00
lifetime_start_end.rs simplify-locals: Remove unused assignments regardless of rvalue kind 2020-10-26 10:48:28 +01:00
link-dead-code.rs test: support both (legacy and v0) choices of mangling. 2019-05-31 18:24:53 +03:00
link_section.rs Upgrade Emscripten targets to use upstream LLVM backend 2019-10-16 17:06:48 -07:00
loads.rs simplify-locals: Remove unused assignments regardless of rvalue kind 2020-10-26 10:48:28 +01:00
local-generics-in-exe-internalized.rs test: support both (legacy and v0) choices of mangling. 2019-05-31 18:24:53 +03:00
lto-removes-invokes.rs Remove licenses 2018-12-25 21:08:33 -07:00
mainsubprogram.rs Adjust codegen tests for DISPFlagMainSubprogram 2019-07-09 21:55:29 +02:00
mainsubprogramstart.rs Adjust codegen tests for DISPFlagMainSubprogram 2019-07-09 21:55:29 +02:00
match-optimizes-away.rs Remove licenses 2018-12-25 21:08:33 -07:00
match.rs Introduce MIR optimizations for simplifying x? on Results. 2019-11-21 20:05:16 +01:00
mir_zst_stores.rs Remove licenses 2018-12-25 21:08:33 -07:00
naked-functions.rs Validate use of parameters in naked functions 2020-11-25 00:00:00 +00:00
naked-noinline.rs Bump mir-opt-level from 2 to 3 in tests 2021-03-05 17:13:57 -03:00
no-assumes-on-casts.rs Remove licenses 2018-12-25 21:08:33 -07:00
no-dllimport-w-cross-lang-lto.rs Stabilize linker-plugin based LTO. 2019-02-12 15:10:29 +01:00
no-output-asm-is-volatile.rs Update tests to use llvm_asm! 2020-03-26 15:49:22 +00:00
no-plt.rs Remove licenses 2018-12-25 21:08:33 -07:00
noalias-unpin.rs Don't compute optimized PointerKind for unoptimized builds 2021-03-21 20:54:42 +01:00
noreturn-uninhabited.rs Remove unnecessary ignore-tidy-linelength 2019-04-23 11:42:14 +01:00
noreturnflag.rs Remove unnecessary ignore-tidy-linelength 2019-04-23 11:42:14 +01:00
nounwind.rs Remove double trailing newlines 2019-04-22 16:57:01 +01:00
nrvo.rs Test that NRVO elides the call to memcpy 2020-05-17 10:24:06 -07:00
optimize-attr-1.rs [mir-opt] Turn on the ConstProp pass by default 2019-11-11 20:57:26 -05:00
packed.rs Don't compute optimized PointerKind for unoptimized builds 2021-03-21 20:54:42 +01:00
panic-abort-windows.rs Drop support for cloudabi targets 2020-11-22 17:11:41 -05:00
personality_lifetimes.rs Re-enable Emscripten's exception handling support 2019-10-25 15:16:36 -07:00
pgo-instrumentation.rs Relax checks in pgo-instrumentation codegen test 2019-07-15 14:01:26 +02:00
README.md add link to FileCheck docs 2019-08-26 20:40:30 +02:00
refs.rs simplify-locals: Remove unused assignments regardless of rvalue kind 2020-10-26 10:48:28 +01:00
repeat-trusted-len.rs fix a codegen test 2020-03-14 14:05:26 +01:00
repr-transparent-aggregates-1.rs Support LLVM 12 in rustc 2021-02-28 10:19:44 +01:00
repr-transparent-aggregates-2.rs Support LLVM 12 in rustc 2021-02-28 10:19:44 +01:00
repr-transparent-aggregates-3.rs Support LLVM 12 in rustc 2021-02-28 10:19:44 +01:00
repr-transparent-sysv64.rs Update codegen tests with unnamed arguments 2020-01-07 21:28:22 +01:00
repr-transparent.rs Update code to account for extern ABI requirement 2021-01-13 07:49:45 -05:00
sanitizer-memory-track-orgins.rs compiletest: Add directives to detect sanitizer support 2020-06-13 14:24:30 +02:00
sanitizer-no-sanitize-inlining.rs Bump mir-opt-level from 3 to 4 in tests 2021-03-05 17:13:57 -03:00
sanitizer-no-sanitize.rs Fix typo in code comment 2020-12-10 19:06:29 -05:00
sanitizer-recover.rs Prepare for LLVM 11 2020-06-25 18:52:41 -07:00
scalar-pair-bool.rs Match scalar-pair-bool more flexibly for LLVM 11 2020-08-22 13:44:54 -07:00
set-discriminant-invalid.rs use abort instead of unreachable 2019-12-06 00:10:01 +01:00
slice-as_chunks.rs Try ignore-debug in the codegen test 2021-01-16 14:52:48 -08:00
slice-init.rs Remove licenses 2018-12-25 21:08:33 -07:00
slice-iter-len-eq-zero.rs Help LLVM better optimize slice::Iter(Mut)::len 2019-06-15 21:15:25 -07:00
slice-position-bounds-check.rs Remove licenses 2018-12-25 21:08:33 -07:00
slice-ref-equality.rs Remove pointer comparison from slice equality 2020-12-26 06:43:51 +00:00
slice-windows-no-bounds-check.rs Add codegen test 2020-10-07 16:17:01 +03:00
some-global-nonnull.rs Emit == null instead of <= null 2020-08-08 10:45:15 +02:00
sparc-struct-abi.rs Remove licenses 2018-12-25 21:08:33 -07:00
stack-probes.rs Use probe-stack=inline-asm in LLVM 11+ 2021-01-14 22:49:16 -05:00
staticlib-external-inline-fns.rs Fix exports with #[inline(always)] 2020-06-15 09:40:56 +01:00
stores.rs Update the minimum external LLVM to 7 2019-12-02 11:36:21 -08:00
swap-small-types.rs ignore some codegen tests in debug mode 2019-07-15 16:56:43 +02:00
target-cpu-on-functions.rs Update code to account for extern ABI requirement 2021-01-13 07:49:45 -05:00
target-feature-overrides.rs Adjust -Ctarget-cpu=native handling in cg_llvm 2021-03-16 21:32:55 +02:00
to_vec.rs Change slice::to_vec to not use extend_from_slice 2020-11-22 22:22:03 +00:00
transmute-scalar.rs tests: codegen/transmute-scalar needs optimizations enabled. 2020-12-10 13:24:47 +02:00
try-panic-abort.rs Simplify the try intrinsic by using a callback in the catch block 2020-03-05 17:36:50 +00:00
try_identity.rs Bump mir-opt-level from 2 to 3 in tests 2021-03-05 17:13:57 -03:00
tune-cpu-on-functions.rs Pass tune-cpu to LLVM 2020-10-05 07:50:44 +08:00
tuple-layout-opt.rs add tests related to tuple scalar layout with ZST in last field 2020-08-30 14:58:03 -04:00
unchecked-float-casts.rs Improve codegen for unchecked float casts on wasm 2020-07-22 15:05:05 -07:00
union-abi.rs Pass arguments up to 2*usize by value 2020-11-29 20:08:00 -05:00
unwind-extern-exports.rs Update code to account for extern ABI requirement 2021-01-13 07:49:45 -05:00
unwind-extern-imports.rs Update tests for extern block linting 2021-01-13 07:49:16 -05:00
var-names.rs rustc_codegen_llvm: give names to non-alloca variable values. 2019-09-06 16:57:20 +03:00
vec-clear.rs we can enable one more codegen test in debug mode now 2020-06-16 16:01:30 -04:00
vec-in-place.rs disable debug assertions in codegen test 2021-03-21 23:05:36 +01:00
vec-iter-collect-len.rs Gate llvm.sideeffect under -Z insert-sideeffect 2019-09-28 07:13:53 +08:00
vec-optimizes-away.rs we can enable one more codegen test in debug mode now 2020-06-16 16:01:30 -04:00
vec-shrink-panic.rs shrink_to shouldn't panic on len greater than capacity 2021-01-26 19:25:37 +01:00
vecdeque_no_panic.rs Remove unreachable panics from VecDeque 2021-01-14 19:31:56 +01:00
vtabletype.rs Remove unnecessary ignore-tidy-linelength 2019-04-23 11:42:14 +01:00
wasm_casts_nontrapping.rs Add codegen tests 2020-07-02 09:32:09 +02:00
wasm_casts_trapping.rs rustc: Improving safe wasm float->int casts 2020-07-28 10:17:11 -07:00
x86_64-macosx-deployment-target.rs choose a more specific LLVM target on OS X when necessary 2019-05-07 11:09:39 -04:00
x86_64-no-macosx-deployment-target.rs default to $ARCH-apple-macosx10.7.0 LLVM triple for darwin targets 2019-05-13 17:04:59 -04:00
zip.rs Remove licenses 2018-12-25 21:08:33 -07:00
zst-offset.rs handle vector layout 2020-08-30 14:58:03 -04:00

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