แแฅแแกแแแแแแ แแแแแแแแ แแแแก แจแแแแแ, แฌแแ แแแแแแแแแ แแฅแแ LLVM 12.0 แแ แแแฅแขแแก แแแแแจแแแแ - GCC-แแแ แแแแกแแแแแ แฎแแแกแแฌแงแแแแแก แแแแ แแแ (แแแแแแแแขแแ แแแ, แแแขแแแแแแขแแ แแแ แแ แแแแแก แแแแแ แแขแแ แแแ), แ แแแแแแช แแแ แแแแแก แแ แแแ แแแแแก RISC-แแก แแกแแแแกแ แแแ แขแฃแแแฃแ แ แแแกแขแ แฃแฅแชแแแแแก แจแฃแแแแแฃแ แแแขแแแแจแ (แแแแแแ แแแแแก แแแ แขแฃแแแฃแ แ แแแแฅแแแ แแ แแแแ แแแแแก แแแขแแแแแแชแแแก แกแแกแขแแแ). แแแแแ แแ แแแฃแแ แคแกแแแแแแแแ แจแแแซแแแแ แแแ แแแแฅแแแแก JIT แจแแแแแแแแแแก แแแแแงแแแแแแ แแแแฅแแแแก แแแกแขแ แฃแฅแชแแแแจแ แฃแจแฃแแแแ แแ แแแ แแแแก แจแแกแ แฃแแแแแก แแ แแก.
แแแฃแแฏแแแแกแแแแแ Clang 12.0-แจแ:
- C++20 แกแขแแแแแ แขแจแ แจแแแแแแแแแแแฃแแ โแกแแแแ แแฃแแโ แแ โแแ แแกแแแแ แแฃแแโ แแขแ แแแฃแขแแแแก แแฎแแ แแแญแแ แ แแแแแ แแแแแ แแ แฉแแ แแฃแแแ แแแแฃแแแกแฎแแแแแ, แ แแช แกแแจแฃแแแแแแก แแซแแแแก แแแขแแแแแแขแแ แก แแแคแแ แแแ แแแฃแแ แแงแแก แแแ แแแแแ แแแแกแขแ แฃแฅแชแแแก แแแแฅแแแแแแแก แแแแแแแแแก แจแแกแแฎแแ (แแแแแแแแแ, โ[[แกแแแแ แแฃแแแ ]] แแฃ (แจแแแแฎแแแแแแ > 0) {โ).
- แแแแแขแแแฃแแแ AMD Zen 3 (-march=znver3), Intel Alder Lake (-march=alderlake) แแ Intel Sapphire Rapids (-march=sapphirerapids) แแ แแชแแกแแ แแแแก แแฎแแ แแแญแแ แ.
- แแแแแขแแแฃแแแ แแฎแแ แแแญแแ แ "-march=x86-64-v[234]" แแ แแจแแแแกแแแแก x86-64 แแ แฅแแขแแฅแขแฃแ แแก แแแแแก แแกแแ แฉแแแแ (v2 - แแแแชแแแก SSE4.2, SSSE3, POPCNT แแ CMPXCHG16B แแแคแแ แแแแแแแก; v3 - AVX2 แแ MOVBE; v4 - AVX-512 ) .
- แแแแแขแแแฃแแแ Arm Cortex-A78C (cortex-a78c), Arm Cortex-R82 (cortex-r82), Arm Neoverse V1 (neoverse-v1), Arm Neoverse N2 (neoverse-n2) แแ Fujitsu A64FX (a64fx) แแ แแชแแกแแ แแแแก แแฎแแ แแแญแแ แ. แแแแแแแแแ, Neoverse-V1 CPU-แแแแก แแแขแแแแแแชแแแก แฉแแกแแ แแแแแ แจแแแแซแแแแ แแแฃแแแแแ โ-mcpu=neoverse-v1โ.
- AArch64 แแ แฅแแขแแฅแขแฃแ แแกแแแแก, แแฎแแแ แจแแแแแแแแแ แแ แแจแแแ "-moutline-atomics" แแ "-mno-outline-atomics" แแแแแแขแ แแขแแแฃแ แ แแฃแจแแแแแก แแแแฎแแแ แ แคแฃแแฅแชแแแแแก แแแกแแแฅแขแแฃแ แแแแแ แแ แแแแแ แแแแกแแแแก, แ แแแแ แแชแแ "__aarch64_cas8_relax". แแกแแแ แคแฃแแฅแชแแแแ แแแจแแแแแก แแ แแก แแฆแแแแฉแแแก แแ แแก แแฃ แแ แ LSE (แแแแ แกแแกแขแแแแก แแแคแแ แแแแแแแ) แแฎแแ แแแญแแ แ แแ แแงแแแแแก แแแฌแแแแแฃแ แแขแแแฃแ แ แแ แแชแแกแแ แแก แแแกแขแ แฃแฅแชแแแแก แแ แฃแแ แฃแแแแแ แกแแแฅแ แแแแแแชแแแกแแแแก LL/SC (Load-link/store-conditional) แแแกแขแ แฃแฅแชแแแแก.
- แแแแแขแแแฃแแแ "-fbinutils-version" แแคแชแแ, แ แแแ แแแ แฉแแแ binutils แแแแแแแฅแขแแก แกแแแแแแ แแแ แกแแ แซแแแแ แแแแแแ แแกแ แแ แแกแแแแแแ แแก แฅแชแแแแกแแแ แแแแกแแแแแแแแกแแแแก.
- ELF แจแแกแ แฃแแแแแแ แคแแแแแแแกแแแแก, แ แแแแกแแช แแแแแแแแฃแแแ "-gz" แแ แแจแ, แแแแแ แแแแก แแแคแแ แแแชแแแก แจแแแฃแแจแแ zlib แแแแแแแแแแแก แแแแแงแแแแแแ แฉแแ แแฃแแแ แแแแฃแแแกแฎแแแแแ (gz=zlib). แจแแแแแแ แแแฆแแแฃแแ แแแแแฅแขแแก แคแแแแแแแก แแแกแแแแแจแแ แแแแแ แกแแญแแ แแ lld แแ GNU binutils 2.26+. แแแแฃแขแแแแก แซแแแแ แแแ แกแแแแแ แแแแกแแแแแแแแก แแฆแกแแแแแแแ แจแแแแซแแแแ แแแฃแแแแแ "-GZ = Zlib-GNU".
- "แแก" แแแฉแแแแแแแแ แแฎแแ แแฃแจแแแแแแ แแ แแแฃแแ แแ แแ แแ แแคแแ แแแชแแ แแแฃแแ(N) แจแแแแฌแแแแแแแ. Nonnull แแขแ แแแฃแขแแก แแแกแแจแแ แแแแแ, แ แแแแกแแช แแญแแ แแแแแ NULL แแแแจแแแแแแแแแแก แแแแแงแแแแแ, แจแแแแซแแแแ แแแแแแงแแแแ "-fdelete-null-pointer-checks" แแแ แแแแขแ.
- Linux-แแก แแแแขแคแแ แแแแ, "-fasynchronous-unwind-tables" แ แแแแแ แฉแแ แแฃแแแ AArch64 แแ PowerPC แแ แฅแแขแแฅแขแฃแ แแแแกแแแแก แแแแขแแแ แแแแก แแแ แแแแก แชแฎแ แแแแแแก แแแแแ แแ แแแแกแแแแก, แ แแแแ แช GCC-แจแ.
- "#pragma clang loop vectorize_width"-แจแ แแแแแแขแ "แคแแฅแกแแ แแแฃแแ" (แแแแฃแแแกแฎแแแแ) แแ "แแแจแขแแแฃแ แ" แแแ แแแแขแแแแก แแแแแแแแแก แจแแกแแซแแแแแแแ แแแฅแขแแ แแแแชแแแก แแแแแแแก แจแแกแแ แฉแแแแ. "แแแจแขแแแฃแ แ" แ แแแแแ, แแแฅแขแแ แแก แกแแแ แซแแกแแแ แแแแแฃแแแแแแแแ, แแฅแกแแแ แแแแแขแฃแแแ แแ แจแแแซแแแแ แแแแแงแแแแแฃแ แแฅแแแก แแแแ แแขแฃแ แแแ, แ แแแแแแช แแฎแแ แก แฃแญแแ แก แแแกแจแขแแแแ แแแแ แแแฅแขแแ แแแแชแแแก.
- Windows แแแแขแคแแ แแแก แแแฃแแฏแแแแกแแแฃแแ แแฎแแ แแแญแแ แ: แแแแแแแแ แแคแแชแแแแฃแ แ แแ แแแแแ แแกแแแแแแแแ Windows-แแกแแแแก Arm64 แกแแกแขแแแแแแ, แแแ แจแแ แแก Clang แจแแแแแแแแแ, LLD linker แแ compiler-rt runtime แแแแแแแแแแแแ. MinGW แกแแแแแแ แแแแขแคแแ แแแแแกแแแแก แแจแแแแแแกแแก แแแแขแแแ .exe แกแฃแคแแฅแกแ, แแฃแแแแช แฏแแแ แแแแแ แแแแแแแแชแแแก แแ แแก.
- แแแคแแ แแแแแ OpenCL, OpenMP แแ CUDA แแฎแแ แแแญแแ แแกแแแ แแแแแแจแแ แแแฃแแ แจแแกแแซแแแแแแแแแ. แแแแแขแแแฃแแแ แแคแชแแแแ "-cl-std=CL3.0" แแ "-cl-std=CL1.0" แแแแ แ แแแ แแแแขแแแแก แแกแแ แฉแแแแ OpenCL 3.0 แแ OpenCL 1.0-แแกแแแแก. แแแคแแ แแแแแ แแแแแแแกแขแแแฃแ แ แกแแจแฃแแแแแแแ.
- แแแแแขแแแฃแแแ แแฎแแ แแแญแแ แ HRESET, UINTR แแ AVXVNNI แแแกแขแ แฃแฅแชแแแแแกแแแแก, แ แแแแแแแช แแแแฎแแ แชแแแแแแฃแแแ x86-แแ แแแคแฃแซแแแแฃแ แแแแแแ แ แแ แแชแแกแแ แจแ.
- x86 แกแแกแขแแแแแแ แฉแแ แแฃแแแ "-mtune=" แแคแชแแแก แแฎแแ แแแญแแ แ, แ แแช แกแแจแฃแแแแแแก แแซแแแแ แจแแ แฉแแฃแแ แแแแ แแแ แฅแแขแแฅแขแฃแ แฃแแ แแแขแแแแแแชแแ, แแแฃแฎแแแแแแ "-march=" แแแแจแแแแแแแแกแ.
- แกแขแแขแแแฃแ แแ แแแแแแแแขแแ แแ แแแแฃแแฏแแแแกแ แแแแแแ แแ POSIX แคแฃแแฅแชแแแก แแแแฃแจแแแแแ แแ แแแแจแแแแแแแแแ แแแแฃแแฏแแแแกแ แแแ แแแแแ แแแแ แแชแแแแแก แจแแแแแแก แแแแกแแแฆแแ แ, แ แแแแกแแช แจแแแแ แแแแจแ แแ แแก แ แแแแแแแแ แกแแแแแแฃแ แ แแแแจแแแแแแแ. แแแแแขแแแฃแแแ แแฎแแแ แฉแแแแแ: fuchia.HandleChecker (แแแแกแแแฆแแ แแแก แกแแฎแแแฃแ แแแก แกแขแ แฃแฅแขแฃแ แแแจแ), webkit.UncountedLambdaCapturesChecker webkit แแ alpha.webkit.UncountedLocalVarsChecker ( แแแแแแแกแฌแแแแแก แแแฉแแแแแแแแแแแ แแฃแจแแแแแก แแแแแกแแแฃแ แแแแแก WebKit แซแ แแแแก แแแแจแ).
- แแฃแแแแแแแแก แแแแขแแฅแกแขแจแ แแแแแงแแแแแฃแ แแแแแแแแฅแแแแแแจแ, แฉแแจแแแแแฃแแ แคแฃแแฅแชแแแแแก แแแแแงแแแแแ __builtin_bitreverse*, __builtin_rotateleft*, __builtin_rotateright*, _mm_popcnt*, _bit_scan_forward, __bsfd, __bsfq, __bit_scan_reverse, __bit_scan_reverse, __bit_scan_reverse, __bit_scan_reverse, __bsrd _ แแแกแแจแแแแแ bswapq , _castf*, __rol* แแ __ror*.
- แแแแแแขแ BitFieldColonSpacing แแคแชแแ clang-format แฃแขแแแแขแแจแ, แ แแแ แแแ แฉแแแ แแแแซแแแ แแแแแขแแคแแแแขแแ แแแแก, แกแแแขแแแแก แแ แแแแแก แแแแแแ แขแแแแแแก แแแ แจแแแ.
- Linux แแแแขแคแแ แแแแ clangd แฅแแจแแ แแแแก แกแแ แแแ แแ (Clang Server) แแแแจแแแแแแแแแ แจแแแแชแแ แ แแแฎแกแแแ แแแแก แแแฎแแแ แแแ แแ แซแแแแแแแแแ แแฃแจแแแแแก แแ แแก (แแแ แแแแฃแแ แแแ แแแ malloc_trim-แแ แฃแแ แฃแแแแแงแแคแแแแ แฃแคแแกแ แแแฎแกแแแ แแแแก แแแแ แแแแแก แแแแ แแชแแฃแ แกแแกแขแแแแจแ แแแกแแแ แฃแแแแแแ).
แซแแ แแแแแ แแแแแแชแแแแ LLVM 12.0-แจแ:
- Python-แจแ แแแฌแแ แแแ llvm-build build แแแกแขแ แฃแแแแขแแก แแฎแแ แแแญแแ แ แจแแฌแงแแ แแ แแแแก แแแชแแแแ แแ แแแฅแขแ แแแแแแแแ แแแแแแแแ CMake build แกแแกแขแแแแก แแแแแงแแแแแแแ.
- AArch64 แแ แฅแแขแแฅแขแฃแ แแก แแแฅแแแแจแ แแแฃแแฏแแแแกแแ Windows แแแแขแคแแ แแแก แแฎแแ แแแญแแ แ: แฃแแ แฃแแแแแงแแคแแแแ แแกแแแแแแ แแก แแแแแแแแแแ แกแแแแแแ Windows แกแแกแขแแแแแแก แกแฌแแ แ แแแแแ แแชแแ, แแแขแแแแแแ แแแฃแแแ แแแแแชแแแแ แแแแแ แแชแแ unwind แแแ แแแแ (แแกแแแ แแแแแชแแแแแแก แแแแ แจแแแชแแ แแ 60-แแ. %), แแกแแแแแแ แแก แแแแแงแแแแแแ unwind แแแแแชแแแแแแก แจแแฅแแแแก แจแแกแแซแแแแแแแแก แแแแแแขแ แแแ แแฅแขแแแแแ .seh_*.
- PowerPC แแ แฅแแขแแฅแขแฃแ แแก แแแฅแแแแ แจแแแชแแแก แแฎแแ แแแขแแแแแแชแแแแก แแแ แงแฃแแแแแก แแ แแแแแแ แแแแแแแแแแกแแแแก, แแแคแแ แแแแแฃแแ แแฎแแ แแแญแแ แ Power10 แแ แแชแแกแแ แแแแกแแแแก, MMA แแแกแขแ แฃแฅแชแแแแแก แแแแแขแแแฃแแ แแฎแแ แแแญแแ แ แแแขแ แแชแแก แแแแแแฃแแแชแแแกแแแแก แแ แแแฃแแฏแแแแกแแแฃแแ แแฎแแ แแแญแแ แ AIX แแแแ แแชแแฃแแ แกแแกแขแแแแกแแแแก.
- x86 backend แแแแขแแแก AMD Zen 3, Intel Alder Lake แแ Intel Sapphire Rapids แแ แแชแแกแแ แแแแก แแฎแแ แแแญแแ แแก, แแกแแแ HRESET, UINTR แแ AVXVNNI แแ แแชแแกแแ แแก แแแกแขแ แฃแฅแชแแแแก. MPX-แแก แแฎแแ แแแญแแ แ (แแแฎแกแแแ แแแแก แแแชแแแก แแแคแแ แแแแแแแ) แแแฉแแแแแแแแแแก แจแแกแแแแฌแแแแแแ แแแฎแกแแแ แแแแก แกแแแฆแแ แแแแก แแฎแแ แแแญแแ แแก แฃแแ แฃแแแแแกแแงแแคแแ (แแก แขแแฅแแแแแแแ แแ แแ แแก แคแแ แแแ แแแแ แชแแแแแฃแแ แแ แฃแแแ แแแแฆแแแฃแแแ GCC-แแแ แแ แแแ แ). แแแแแแขแ แแกแแแแแแ แก แแฎแแ แแแญแแ แ {disp32} แแ {disp8} แแ แแคแแฅแกแแแแกแแแแก แแ .d32 แแ .d8 แกแฃแคแแฅแกแแแแกแแแแก แแแแ แแแแแแแก แแคแกแแขแแแแกแ แแ แแแฎแขแแแแแแก แแแแแก แแแกแแแแแขแ แแแแแแแ. แแแแแแขแ แแฎแแแ แแขแ แแแฃแขแ "Tune-CPU", แ แแ แแแแแแแขแ แแแแก แแแแ แแแ แฅแแแขแฃแ แฃแแ แแแขแแแแแแชแแแก แฉแแ แแแ.
- แแแแแ แ แแชแฎแแแก แแ แแแแแแแก แแแขแแฅแขแแ แก แแแแแแขแ แแฎแแแ แ แแแแแ โ-fsanitize=unsigned-shift-baseโ (แแแแแแแ แ แแชแฎแแแแแก แแแแแฏแแแกแแฆแแแแแ, โ-fsanitize=แแแแแ แ แแชแฎแแโ), แ แแแ แแฆแแแแฉแแแแก แฎแแแแแฃแฌแแ แแแ แ แแชแฎแแแแแก แแแแแแแแแแ แแแ แชแฎแแแ แแแแแ แแแแแแแแแแแแแก แจแแแแแ.
- แกแฎแแแแแกแฎแแ แแแขแแฅแขแแ แแแจแ (asan, cfi, lsan, msan, tsan, ubsan sanitizer) แแแแแแขแ Linux แแแกแขแ แแแฃแชแแแแแก แแฎแแ แแแญแแ แ แกแขแแแแแ แขแฃแแ Musl แแแแแแแแแแแ.
- LLD แแแแแแ แแก แจแแกแแซแแแแแแแแแ แแแคแแ แแแแแ. ELF แคแแ แแแขแแก แแแฃแแฏแแแแกแแแฃแแ แแฎแแ แแแญแแ แ, แแแ แจแแ แแก แแแแแขแแแฃแแ แแแ แแแแขแแแ "--dependency-file", "-error-handling-script", "-lto-pseudo-probe-for-profiling", "-no-lto-whole-program". -แฎแแแแแแแแ"" แแแฃแแฏแแแแกแแแฃแแ MinGW แแฎแแ แแแญแแ แ. Mach-O แคแแ แแแขแแกแแแแก (macOS) แแแแฎแแ แชแแแแแ arm64, arm, แแ i386 แแ แฅแแขแแฅแขแฃแ แแแแก แแฎแแ แแแญแแ แ, แแแฃแแแก แแ แแแก แแแขแแแแแแชแแ (LTO) แแ แกแขแแแแก แแแแขแแแ แแแ แแแแแแแแแแกแแแแก แแแ แแแแกแแแแก.
- Libc++ แแฎแแ แชแแแแแแก C++20 แกแขแแแแแ แขแแก แแฎแแ แคแฃแแฅแชแแแแก แแ แแแแฌแงแ C++2b แกแแแชแแคแแแแชแแแก แแแฎแแกแแแแแแแแแแก แแแแแแแแ แแแ. แแแแแแขแ แแฎแแ แแแญแแ แ แแแแแแแแแชแแแก แแแแแ แแแแก แแฎแแ แแแญแแ แแกแแแแก (โ-DLIBCXX_ENABLE_LOCALIZATION=OFFโ) แแ แแแฌแงแแแแแแแแแ แคแกแแแแ แจแแแแฎแแแแแแ แ แแชแฎแแแแแก แแแแแ แแ แแแแกแแแแก (โ-DLIBCXX_ENABLE_RANDOM_DEVICE=OFFโ).
แฌแงแแ แ: opennet.ru