rust/src/test/assembly
Miguel Ojeda a65ec44779 Add -Zno-jump-tables
This flag mimics GCC/Clang's `-fno-jump-tables` [1][2], which makes
the codegen backend avoid generating jump tables when lowering switches.

In the case of LLVM, the `"no-jump-tables"="true"` function attribute is
added to every function.

The kernel currently needs it for x86 when enabling IBT [3], as well
as for Alpha (plus VDSO objects in MIPS/LoongArch).

[1] https://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html#index-fno-jump-tables
[2] https://clang.llvm.org/docs/ClangCommandLineReference.html#cmdoption-clang-fjump-tables
[3] https://github.com/torvalds/linux/blob/v6.1/arch/x86/Makefile#L75-L83

Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
2022-12-20 21:42:54 +01:00
..
asm v8a as default aarch64 target 2022-11-29 14:25:46 +08:00
auxiliary Introduce assembly tests 2019-02-27 23:33:05 +01:00
nvptx-kernel-abi Add test for asserting correct generation of ptx-kernel args 2022-04-25 16:35:19 +02:00
stack-protector Update the minimum external LLVM to 13 2022-08-14 13:46:51 -07:00
aarch64-naked-fn-no-bti-prolog.rs Also stop emitting BTI prologues for naked functions 2022-07-06 22:44:58 -07:00
aarch64-pointer-auth.rs Update the minimum external LLVM to 13 2022-08-14 13:46:51 -07:00
align_offset.rs Add a special case for align_offset /w stride != 1 2022-07-17 01:27:37 +03:00
dwarf5.rs Implement support for DWARF version 5. 2022-07-08 11:31:08 -07:00
is_aligned.rs fix assembly test on apple 2022-11-19 16:58:02 +01:00
niche-prefer-zero.rs enum niche allocation grows toward zero if possible 2021-09-13 21:55:14 +02:00
nvptx-arch-default.rs Ignore NVPTX tests 2019-06-12 23:09:08 +02:00
nvptx-arch-emit-asm.rs Ignore NVPTX tests 2019-06-12 23:09:08 +02:00
nvptx-arch-link-arg.rs Ignore NVPTX tests 2019-06-12 23:09:08 +02:00
nvptx-arch-target-cpu.rs Ignore NVPTX tests 2019-06-12 23:09:08 +02:00
nvptx-atomics.rs Ignore NVPTX tests 2019-06-12 23:09:08 +02:00
nvptx-internalizing.rs Ignore NVPTX tests 2019-06-12 23:09:08 +02:00
nvptx-linking-binary.rs Ignore NVPTX tests 2019-06-12 23:09:08 +02:00
nvptx-linking-cdylib.rs Ignore NVPTX tests 2019-06-12 23:09:08 +02:00
nvptx-safe-naming.rs Ignore NVPTX tests 2019-06-12 23:09:08 +02:00
panic-no-unwind-no-uwtable.rs Allow using -C force-unwind-tables=no when panic=unwind 2021-04-11 22:32:40 +08:00
panic-unwind-no-uwtable.rs Allow using -C force-unwind-tables=no when panic=unwind 2021-04-11 22:32:40 +08:00
pic-relocation-model.rs Add pie as another relocation-model value 2021-10-01 08:06:42 +02:00
pie-relocation-model.rs Add pie as another relocation-model value 2021-10-01 08:06:42 +02:00
sparc-struct-abi.rs sparc-struct-abi: work around new tail-call optimization 2022-11-28 16:42:48 -05:00
static-relocation-model.rs adapt assembly/static-relocation-model test for LLVM change 2022-07-20 12:56:42 +00:00
strict_provenance.rs Add a codegen test for rust-lang/rust#96152 2022-11-06 16:56:47 -05:00
target-feature-multiple.rs short-circuit the easy cases in is_copy_modulo_regions 2022-03-10 01:19:02 -08:00
x86-stack-probes.rs Enable inline stack probes on X86 with LLVM 16 2022-09-29 19:49:23 -07:00
x86_64-floating-point-clamp.rs Allow other directives before the ret 2022-08-20 21:08:56 +00:00
x86_64-fortanix-unknown-sgx-lvi-generic-load.rs cleaning up code 2020-09-25 15:13:55 +02:00
x86_64-fortanix-unknown-sgx-lvi-generic-ret.rs cleaning up code 2020-09-25 15:13:55 +02:00
x86_64-fortanix-unknown-sgx-lvi-inline-assembly.rs Address review feedback 2021-12-12 11:26:59 +00:00
x86_64-naked-fn-no-cet-prolog.rs Stop emitting CET prologues for naked functions 2022-07-06 22:44:54 -07:00
x86_64-no-jump-tables.rs Add -Zno-jump-tables 2022-12-20 21:42:54 +01:00
x86_64-sse_crc.rs rustc_codegen_llvm: make sse4.2 imply crc32 for LLVM 14 2021-09-20 11:31:55 -04:00