about summary refs log tree commit diff
path: root/src/test/codegen
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2021-04-05 01:26:57 +0000
committerbors <bors@rust-lang.org>2021-04-05 01:26:57 +0000
commit015d2bc3fec48cef3cbfaec71c54fa31ce420853 (patch)
tree78f07dccce940c12922d9af6e94143edee0e2ed4 /src/test/codegen
parent35aa636159b84a771000ee025828798fd959933d (diff)
parentf8709ec96211b821c9fe8516d73d512eb718a15e (diff)
downloadrust-015d2bc3fec48cef3cbfaec71c54fa31ce420853.tar.gz
rust-015d2bc3fec48cef3cbfaec71c54fa31ce420853.zip
Auto merge of #83864 - Dylan-DPC:rollup-78an86n, r=Dylan-DPC
Rollup of 7 pull requests

Successful merges:

 - #80525 (wasm64 support)
 - #83019 (core: disable `ptr::swap_nonoverlapping_one`'s block optimization on SPIR-V.)
 - #83717 (rustdoc: Separate filter-empty-string out into its own function)
 - #83807 (Tests: Remove redundant `ignore-tidy-linelength` annotations)
 - #83815 (ptr::addr_of documentation improvements)
 - #83820 (Remove attribute `#[link_args]`)
 - #83841 (Allow clobbering unsupported registers in asm!)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
Diffstat (limited to 'src/test/codegen')
-rw-r--r--src/test/codegen/align-enum.rs2
-rw-r--r--src/test/codegen/align-struct.rs2
-rw-r--r--src/test/codegen/asm-target-clobbers.rs21
-rw-r--r--src/test/codegen/async-fn-debug-msvc.rs2
-rw-r--r--src/test/codegen/async-fn-debug.rs2
-rw-r--r--src/test/codegen/c-variadic.rs2
-rw-r--r--src/test/codegen/consts.rs2
-rw-r--r--src/test/codegen/debug-compile-unit-path.rs2
-rw-r--r--src/test/codegen/enum-debug-clike.rs2
-rw-r--r--src/test/codegen/enum-debug-niche-2.rs2
-rw-r--r--src/test/codegen/function-arguments.rs2
-rw-r--r--src/test/codegen/gdb_debug_script_load.rs2
-rw-r--r--src/test/codegen/generator-debug-msvc.rs2
-rw-r--r--src/test/codegen/generator-debug.rs2
-rw-r--r--src/test/codegen/inline-debuginfo.rs2
-rw-r--r--src/test/codegen/instrument-mcount.rs2
-rw-r--r--src/test/codegen/issue-44056-macos-tls-align.rs2
-rw-r--r--src/test/codegen/packed.rs2
-rw-r--r--src/test/codegen/remap_path_prefix/auxiliary/remap_path_prefix_aux.rs2
-rw-r--r--src/test/codegen/remap_path_prefix/auxiliary/xcrate-generic.rs2
-rw-r--r--src/test/codegen/remap_path_prefix/main.rs2
-rw-r--r--src/test/codegen/repeat-trusted-len.rs2
-rw-r--r--src/test/codegen/repr-transparent-aggregates-1.rs2
-rw-r--r--src/test/codegen/repr-transparent-aggregates-2.rs2
-rw-r--r--src/test/codegen/repr-transparent-aggregates-3.rs2
-rw-r--r--src/test/codegen/riscv-abi/riscv64-lp64-lp64f-lp64d-abi.rs2
-rw-r--r--src/test/codegen/riscv-abi/riscv64-lp64d-abi.rs2
-rw-r--r--src/test/codegen/riscv-abi/riscv64-lp64f-lp64d-abi.rs2
-rw-r--r--src/test/codegen/simd-intrinsic/simd-intrinsic-generic-arithmetic-saturating.rs2
-rw-r--r--src/test/codegen/simd-intrinsic/simd-intrinsic-generic-bitmask.rs2
-rw-r--r--src/test/codegen/simd-intrinsic/simd-intrinsic-generic-gather.rs2
-rw-r--r--src/test/codegen/simd-intrinsic/simd-intrinsic-generic-scatter.rs2
-rw-r--r--src/test/codegen/simd-intrinsic/simd-intrinsic-transmute-array.rs2
-rw-r--r--src/test/codegen/stores.rs2
-rw-r--r--src/test/codegen/target-cpu-on-functions.rs2
-rw-r--r--src/test/codegen/tune-cpu-on-functions.rs2
36 files changed, 56 insertions, 35 deletions
diff --git a/src/test/codegen/align-enum.rs b/src/test/codegen/align-enum.rs
index 95ca7cfe750..0f2cf5a7616 100644
--- a/src/test/codegen/align-enum.rs
+++ b/src/test/codegen/align-enum.rs
@@ -1,5 +1,5 @@
 // compile-flags: -C no-prepopulate-passes -Z mir-opt-level=0
-// ignore-tidy-linelength
+//
 
 #![crate_type = "lib"]
 
diff --git a/src/test/codegen/align-struct.rs b/src/test/codegen/align-struct.rs
index cda7235a3d8..82eec67af0f 100644
--- a/src/test/codegen/align-struct.rs
+++ b/src/test/codegen/align-struct.rs
@@ -1,5 +1,5 @@
 // compile-flags: -C no-prepopulate-passes -Z mir-opt-level=0
-// ignore-tidy-linelength
+//
 
 #![crate_type = "lib"]
 
diff --git a/src/test/codegen/asm-target-clobbers.rs b/src/test/codegen/asm-target-clobbers.rs
new file mode 100644
index 00000000000..f637cdcd234
--- /dev/null
+++ b/src/test/codegen/asm-target-clobbers.rs
@@ -0,0 +1,21 @@
+// only-x86_64
+// revisions: base avx512
+// [avx512]compile-flags: -C target-feature=+avx512f
+
+#![crate_type = "rlib"]
+#![feature(asm)]
+
+// CHECK-LABEL: @avx512_clobber
+// base: call void asm sideeffect inteldialect "", "~{xmm31}"()
+// avx512: call float asm sideeffect inteldialect "", "=&{xmm31}"()
+#[no_mangle]
+pub unsafe fn avx512_clobber() {
+    asm!("", out("zmm31") _, options(nostack, nomem, preserves_flags));
+}
+
+// CHECK-LABEL: @eax_clobber
+// CHECK: call i32 asm sideeffect inteldialect "", "=&{ax}"()
+#[no_mangle]
+pub unsafe fn eax_clobber() {
+    asm!("", out("eax") _, options(nostack, nomem, preserves_flags));
+}
diff --git a/src/test/codegen/async-fn-debug-msvc.rs b/src/test/codegen/async-fn-debug-msvc.rs
index 4e145b81ecb..2b8c0dfc229 100644
--- a/src/test/codegen/async-fn-debug-msvc.rs
+++ b/src/test/codegen/async-fn-debug-msvc.rs
@@ -3,7 +3,7 @@
 //  - The generator types and variants are marked artificial
 //  - Captured vars from the source are not marked artificial
 //
-// ignore-tidy-linelength
+//
 // compile-flags: -C debuginfo=2 --edition=2018
 // only-msvc
 
diff --git a/src/test/codegen/async-fn-debug.rs b/src/test/codegen/async-fn-debug.rs
index 8fa4be1ae86..e9b774b48c3 100644
--- a/src/test/codegen/async-fn-debug.rs
+++ b/src/test/codegen/async-fn-debug.rs
@@ -3,7 +3,7 @@
 //  - The generator types and variants are marked artificial
 //  - Captured vars from the source are not marked artificial
 //
-// ignore-tidy-linelength
+//
 // compile-flags: -C debuginfo=2 --edition=2018
 // ignore-msvc
 
diff --git a/src/test/codegen/c-variadic.rs b/src/test/codegen/c-variadic.rs
index 29c82686731..e038ed70451 100644
--- a/src/test/codegen/c-variadic.rs
+++ b/src/test/codegen/c-variadic.rs
@@ -1,6 +1,6 @@
 // ignore-wasm32-bare compiled with panic=abort by default
 // compile-flags: -C no-prepopulate-passes
-// ignore-tidy-linelength
+//
 
 #![crate_type = "lib"]
 #![feature(c_variadic)]
diff --git a/src/test/codegen/consts.rs b/src/test/codegen/consts.rs
index fcb9002986a..3aab4bea3d0 100644
--- a/src/test/codegen/consts.rs
+++ b/src/test/codegen/consts.rs
@@ -1,5 +1,5 @@
 // compile-flags: -C no-prepopulate-passes
-// ignore-tidy-linelength
+//
 
 #![crate_type = "lib"]
 
diff --git a/src/test/codegen/debug-compile-unit-path.rs b/src/test/codegen/debug-compile-unit-path.rs
index fcb66e08576..3661be046d0 100644
--- a/src/test/codegen/debug-compile-unit-path.rs
+++ b/src/test/codegen/debug-compile-unit-path.rs
@@ -1,5 +1,5 @@
 // compile-flags: -g --remap-path-prefix={{cwd}}=/cwd/ --remap-path-prefix={{src-base}}=/base/
-// ignore-tidy-linelength
+//
 //
 // Ensure that we remap the compile unit directory and that we set it to the compilers current
 // working directory and not something else.
diff --git a/src/test/codegen/enum-debug-clike.rs b/src/test/codegen/enum-debug-clike.rs
index 134443931e9..1e369a2c4e6 100644
--- a/src/test/codegen/enum-debug-clike.rs
+++ b/src/test/codegen/enum-debug-clike.rs
@@ -1,7 +1,7 @@
 // This tests that debug info for "c-like" enums is properly emitted.
 // This is ignored for the fallback mode on MSVC due to problems with PDB.
 
-// ignore-tidy-linelength
+//
 // ignore-msvc
 
 // compile-flags: -g -C no-prepopulate-passes
diff --git a/src/test/codegen/enum-debug-niche-2.rs b/src/test/codegen/enum-debug-niche-2.rs
index 0f78234d977..9c72ad9d248 100644
--- a/src/test/codegen/enum-debug-niche-2.rs
+++ b/src/test/codegen/enum-debug-niche-2.rs
@@ -1,7 +1,7 @@
 // This tests that optimized enum debug info accurately reflects the enum layout.
 // This is ignored for the fallback mode on MSVC due to problems with PDB.
 
-// ignore-tidy-linelength
+//
 // ignore-msvc
 
 // compile-flags: -g -C no-prepopulate-passes
diff --git a/src/test/codegen/function-arguments.rs b/src/test/codegen/function-arguments.rs
index 0c34bf1b914..f936f909603 100644
--- a/src/test/codegen/function-arguments.rs
+++ b/src/test/codegen/function-arguments.rs
@@ -1,5 +1,5 @@
 // compile-flags: -O -C no-prepopulate-passes
-// ignore-tidy-linelength
+//
 // min-system-llvm-version: 12.0
 
 #![crate_type = "lib"]
diff --git a/src/test/codegen/gdb_debug_script_load.rs b/src/test/codegen/gdb_debug_script_load.rs
index 178269f611e..856b67bf9df 100644
--- a/src/test/codegen/gdb_debug_script_load.rs
+++ b/src/test/codegen/gdb_debug_script_load.rs
@@ -1,4 +1,4 @@
-// ignore-tidy-linelength
+//
 // ignore-windows
 // ignore-macos
 // ignore-wasm
diff --git a/src/test/codegen/generator-debug-msvc.rs b/src/test/codegen/generator-debug-msvc.rs
index 82a1568ea95..4f8a320ee9b 100644
--- a/src/test/codegen/generator-debug-msvc.rs
+++ b/src/test/codegen/generator-debug-msvc.rs
@@ -3,7 +3,7 @@
 //  - The generator types and variants are marked artificial
 //  - Captured vars from the source are not marked artificial
 //
-// ignore-tidy-linelength
+//
 // compile-flags: -C debuginfo=2
 // only-msvc
 
diff --git a/src/test/codegen/generator-debug.rs b/src/test/codegen/generator-debug.rs
index 5c7c6414818..86ac6db702a 100644
--- a/src/test/codegen/generator-debug.rs
+++ b/src/test/codegen/generator-debug.rs
@@ -3,7 +3,7 @@
 //  - The generator types and variants are marked artificial
 //  - Captured vars from the source are not marked artificial
 //
-// ignore-tidy-linelength
+//
 // compile-flags: -C debuginfo=2 --edition=2018
 // ignore-msvc
 
diff --git a/src/test/codegen/inline-debuginfo.rs b/src/test/codegen/inline-debuginfo.rs
index 1546dfa10a3..5b230361f39 100644
--- a/src/test/codegen/inline-debuginfo.rs
+++ b/src/test/codegen/inline-debuginfo.rs
@@ -1,6 +1,6 @@
 #![crate_type="rlib"]
 // compile-flags: -Copt-level=3 -g
-// ignore-tidy-linelength
+//
 
 #[no_mangle]
 #[inline(always)]
diff --git a/src/test/codegen/instrument-mcount.rs b/src/test/codegen/instrument-mcount.rs
index 518a2a0da2a..b26076e7a7b 100644
--- a/src/test/codegen/instrument-mcount.rs
+++ b/src/test/codegen/instrument-mcount.rs
@@ -1,4 +1,4 @@
-// ignore-tidy-linelength
+//
 // compile-flags: -Z instrument-mcount
 
 #![crate_type = "lib"]
diff --git a/src/test/codegen/issue-44056-macos-tls-align.rs b/src/test/codegen/issue-44056-macos-tls-align.rs
index 2270eca5014..1a3923f1bb1 100644
--- a/src/test/codegen/issue-44056-macos-tls-align.rs
+++ b/src/test/codegen/issue-44056-macos-tls-align.rs
@@ -1,4 +1,4 @@
-// ignore-tidy-linelength
+//
 // only-macos
 // no-system-llvm
 // compile-flags: -O
diff --git a/src/test/codegen/packed.rs b/src/test/codegen/packed.rs
index 6ab28e87cb6..dfa7803d4f2 100644
--- a/src/test/codegen/packed.rs
+++ b/src/test/codegen/packed.rs
@@ -1,4 +1,4 @@
-// ignore-tidy-linelength
+//
 // compile-flags: -O -C no-prepopulate-passes
 
 #![crate_type = "lib"]
diff --git a/src/test/codegen/remap_path_prefix/auxiliary/remap_path_prefix_aux.rs b/src/test/codegen/remap_path_prefix/auxiliary/remap_path_prefix_aux.rs
index b87a20e75f4..887915955b5 100644
--- a/src/test/codegen/remap_path_prefix/auxiliary/remap_path_prefix_aux.rs
+++ b/src/test/codegen/remap_path_prefix/auxiliary/remap_path_prefix_aux.rs
@@ -1,4 +1,4 @@
-// ignore-tidy-linelength
+//
 
 // compile-flags: -g  --remap-path-prefix={{cwd}}=/the/aux-cwd --remap-path-prefix={{src-base}}/remap_path_prefix/auxiliary=/the/aux-src
 
diff --git a/src/test/codegen/remap_path_prefix/auxiliary/xcrate-generic.rs b/src/test/codegen/remap_path_prefix/auxiliary/xcrate-generic.rs
index 57e877ef0d0..59092dbf637 100644
--- a/src/test/codegen/remap_path_prefix/auxiliary/xcrate-generic.rs
+++ b/src/test/codegen/remap_path_prefix/auxiliary/xcrate-generic.rs
@@ -1,4 +1,4 @@
-// ignore-tidy-linelength
+//
 // compile-flags: -g  --remap-path-prefix={{cwd}}=/the/aux-cwd --remap-path-prefix={{src-base}}/remap_path_prefix/auxiliary=/the/aux-src
 
 #![crate_type = "lib"]
diff --git a/src/test/codegen/remap_path_prefix/main.rs b/src/test/codegen/remap_path_prefix/main.rs
index 20475bab0fc..c2d01c7fec2 100644
--- a/src/test/codegen/remap_path_prefix/main.rs
+++ b/src/test/codegen/remap_path_prefix/main.rs
@@ -1,5 +1,5 @@
 // ignore-windows
-// ignore-tidy-linelength
+//
 
 // compile-flags: -g  -C no-prepopulate-passes --remap-path-prefix={{cwd}}=/the/cwd --remap-path-prefix={{src-base}}=/the/src
 // aux-build:remap_path_prefix_aux.rs
diff --git a/src/test/codegen/repeat-trusted-len.rs b/src/test/codegen/repeat-trusted-len.rs
index 8e08b78ad1e..9e904fc82ab 100644
--- a/src/test/codegen/repeat-trusted-len.rs
+++ b/src/test/codegen/repeat-trusted-len.rs
@@ -1,5 +1,5 @@
 // compile-flags: -O
-// ignore-tidy-linelength
+//
 
 #![crate_type = "lib"]
 
diff --git a/src/test/codegen/repr-transparent-aggregates-1.rs b/src/test/codegen/repr-transparent-aggregates-1.rs
index 847b94fac78..5c3bcc28878 100644
--- a/src/test/codegen/repr-transparent-aggregates-1.rs
+++ b/src/test/codegen/repr-transparent-aggregates-1.rs
@@ -1,5 +1,5 @@
 // compile-flags: -C no-prepopulate-passes
-// ignore-tidy-linelength
+//
 
 // min-system-llvm-version: 12.0
 // ignore-arm
diff --git a/src/test/codegen/repr-transparent-aggregates-2.rs b/src/test/codegen/repr-transparent-aggregates-2.rs
index 1fb12d92bd1..429d760b4aa 100644
--- a/src/test/codegen/repr-transparent-aggregates-2.rs
+++ b/src/test/codegen/repr-transparent-aggregates-2.rs
@@ -1,5 +1,5 @@
 // compile-flags: -C no-prepopulate-passes
-// ignore-tidy-linelength
+//
 
 // min-system-llvm-version: 12.0
 // ignore-aarch64
diff --git a/src/test/codegen/repr-transparent-aggregates-3.rs b/src/test/codegen/repr-transparent-aggregates-3.rs
index 3381764bfc8..21176ac0e7a 100644
--- a/src/test/codegen/repr-transparent-aggregates-3.rs
+++ b/src/test/codegen/repr-transparent-aggregates-3.rs
@@ -1,5 +1,5 @@
 // compile-flags: -C no-prepopulate-passes
-// ignore-tidy-linelength
+//
 
 // min-system-llvm-version: 12.0
 // only-mips64
diff --git a/src/test/codegen/riscv-abi/riscv64-lp64-lp64f-lp64d-abi.rs b/src/test/codegen/riscv-abi/riscv64-lp64-lp64f-lp64d-abi.rs
index 180ba07764b..693f0d99c4f 100644
--- a/src/test/codegen/riscv-abi/riscv64-lp64-lp64f-lp64d-abi.rs
+++ b/src/test/codegen/riscv-abi/riscv64-lp64-lp64f-lp64d-abi.rs
@@ -1,4 +1,4 @@
-// ignore-tidy-linelength
+//
 // compile-flags: -C no-prepopulate-passes
 // only-riscv64
 // only-linux
diff --git a/src/test/codegen/riscv-abi/riscv64-lp64d-abi.rs b/src/test/codegen/riscv-abi/riscv64-lp64d-abi.rs
index 0b6e1878d4d..1555acadfbc 100644
--- a/src/test/codegen/riscv-abi/riscv64-lp64d-abi.rs
+++ b/src/test/codegen/riscv-abi/riscv64-lp64d-abi.rs
@@ -1,4 +1,4 @@
-// ignore-tidy-linelength
+//
 // compile-flags: -C no-prepopulate-passes
 // only-riscv64
 // only-linux
diff --git a/src/test/codegen/riscv-abi/riscv64-lp64f-lp64d-abi.rs b/src/test/codegen/riscv-abi/riscv64-lp64f-lp64d-abi.rs
index 1cea6e3db2a..f08fabed421 100644
--- a/src/test/codegen/riscv-abi/riscv64-lp64f-lp64d-abi.rs
+++ b/src/test/codegen/riscv-abi/riscv64-lp64f-lp64d-abi.rs
@@ -1,4 +1,4 @@
-// ignore-tidy-linelength
+//
 // compile-flags: -C no-prepopulate-passes
 // only-riscv64
 // only-linux
diff --git a/src/test/codegen/simd-intrinsic/simd-intrinsic-generic-arithmetic-saturating.rs b/src/test/codegen/simd-intrinsic/simd-intrinsic-generic-arithmetic-saturating.rs
index 267c995e070..6fb0ceb4025 100644
--- a/src/test/codegen/simd-intrinsic/simd-intrinsic-generic-arithmetic-saturating.rs
+++ b/src/test/codegen/simd-intrinsic/simd-intrinsic-generic-arithmetic-saturating.rs
@@ -1,5 +1,5 @@
 // compile-flags: -C no-prepopulate-passes
-// ignore-tidy-linelength
+//
 
 #![crate_type = "lib"]
 
diff --git a/src/test/codegen/simd-intrinsic/simd-intrinsic-generic-bitmask.rs b/src/test/codegen/simd-intrinsic/simd-intrinsic-generic-bitmask.rs
index 87c8b0d87d8..4a98d797b52 100644
--- a/src/test/codegen/simd-intrinsic/simd-intrinsic-generic-bitmask.rs
+++ b/src/test/codegen/simd-intrinsic/simd-intrinsic-generic-bitmask.rs
@@ -1,5 +1,5 @@
 // compile-flags: -C no-prepopulate-passes
-// ignore-tidy-linelength
+//
 
 #![crate_type = "lib"]
 
diff --git a/src/test/codegen/simd-intrinsic/simd-intrinsic-generic-gather.rs b/src/test/codegen/simd-intrinsic/simd-intrinsic-generic-gather.rs
index 3b1f4398f90..e2e0fc16dfa 100644
--- a/src/test/codegen/simd-intrinsic/simd-intrinsic-generic-gather.rs
+++ b/src/test/codegen/simd-intrinsic/simd-intrinsic-generic-gather.rs
@@ -1,4 +1,4 @@
-// ignore-tidy-linelength
+//
 
 // compile-flags: -C no-prepopulate-passes
 
diff --git a/src/test/codegen/simd-intrinsic/simd-intrinsic-generic-scatter.rs b/src/test/codegen/simd-intrinsic/simd-intrinsic-generic-scatter.rs
index 9fce849e523..050a0e5b426 100644
--- a/src/test/codegen/simd-intrinsic/simd-intrinsic-generic-scatter.rs
+++ b/src/test/codegen/simd-intrinsic/simd-intrinsic-generic-scatter.rs
@@ -1,4 +1,4 @@
-// ignore-tidy-linelength
+//
 
 // compile-flags: -C no-prepopulate-passes
 
diff --git a/src/test/codegen/simd-intrinsic/simd-intrinsic-transmute-array.rs b/src/test/codegen/simd-intrinsic/simd-intrinsic-transmute-array.rs
index ae13d91ddeb..7d9b0d2a77b 100644
--- a/src/test/codegen/simd-intrinsic/simd-intrinsic-transmute-array.rs
+++ b/src/test/codegen/simd-intrinsic/simd-intrinsic-transmute-array.rs
@@ -1,4 +1,4 @@
-// ignore-tidy-linelength
+//
 // compile-flags: -C no-prepopulate-passes
 
 #![crate_type = "lib"]
diff --git a/src/test/codegen/stores.rs b/src/test/codegen/stores.rs
index 4ea003e99ad..17f051a5bce 100644
--- a/src/test/codegen/stores.rs
+++ b/src/test/codegen/stores.rs
@@ -1,5 +1,5 @@
 // compile-flags: -C no-prepopulate-passes
-// ignore-tidy-linelength
+//
 
 #![crate_type = "lib"]
 
diff --git a/src/test/codegen/target-cpu-on-functions.rs b/src/test/codegen/target-cpu-on-functions.rs
index 7544ac01309..c043eceb5cd 100644
--- a/src/test/codegen/target-cpu-on-functions.rs
+++ b/src/test/codegen/target-cpu-on-functions.rs
@@ -2,7 +2,7 @@
 // "target-cpu" attribute in LLVM.
 
 // no-prefer-dynamic
-// ignore-tidy-linelength
+//
 // compile-flags: -C no-prepopulate-passes -C panic=abort -C linker-plugin-lto -Cpasses=name-anon-globals
 
 #![crate_type = "staticlib"]
diff --git a/src/test/codegen/tune-cpu-on-functions.rs b/src/test/codegen/tune-cpu-on-functions.rs
index 9121799cdbf..ed8dc0e9383 100644
--- a/src/test/codegen/tune-cpu-on-functions.rs
+++ b/src/test/codegen/tune-cpu-on-functions.rs
@@ -2,7 +2,7 @@
 // "tune-cpu" attribute in LLVM.
 
 // no-prefer-dynamic
-// ignore-tidy-linelength
+//
 // compile-flags: -C no-prepopulate-passes -C panic=abort -C linker-plugin-lto -Cpasses=name-anon-globals -Z tune-cpu=generic
 
 #![crate_type = "staticlib"]