ืืืืจ ืฉืืฉื ืืืืฉืื ืฉื ืคืืชืื, ืืืฆืื ืืฉืืจืืจ ืฉื ืคืจืืืงื LLVM 15.0 - ืขืจืืช ืืืื ืชืืืืช GCC (ืืืืจืื, ืืืคืืืืืืฆืื ืืืืืืื ืงืื) ืืืจืืืื ืชืืื ืืืช ืืงืื ืืื ืืื ืฉื ืืืจืืืช ืืืจืืืืืืืช ืืืืืืช RISC (ืืืื ื ืืืจืืืืืืช ืืจืื ื ืืืื ืขื ืืขืจืืช ืืืคืืืืืืฆืื ืืจืืืช ืจืืืช). ื ืืชื ืืืืืจ ืืช ืืคืกืืืืืงืื ืฉื ืืฆืจ ืืืืฆืขืืช ืืืืจ JIT ืืืืจืืืช ืืืื ื ืืฉืืจืืช ืืืื ืืืฆืืข ืืชืืื ืืช.
ืฉืืคืืจืื ืขืืงืจืืื ื-Clang 15.0:
- ืขืืืจ ืืขืจืืืช ืืืืืกืกืืช ืขื ืืจืืืืงืืืจืช x86, ื ืืกืฃ ืืืื "-fzero-call-used-regs", ืืืืืื ืฉืื ืืืืจื ืืืขืื ืืืฉืืฉืื ืืคืื ืงืฆืื ืืืืคืกืื ืืืคืก ืืคื ื ืืืืจืช ืืฉืืืื ืืืคืื ืงืฆืื. ืืคืฉืจืืช ืื ืืืคืฉืจืช ืื ืืืื ืืคื ื ืืืืคืช ืืืืข ืืคืื ืงืฆืืืช ืืืืคืืืช ืืช ืืกืคืจ ืืืืืงืื ืืืชืืืืื ืืื ืืืช ืืืื'ืืื ืฉื ROP (Return-Oriented Programming) ืื ืืฆืืืื ืื-20%.
- ืืืืืขื ืืงืจืืืช ืฉื ืืืงืื ืืืืจืื ืฉื ืืื ืื ืขืืืจ ืงืื C, ืื ืฉืืงืฉื ืขื ืืืืืฅ ืื ืชืื ืื ืืืื ืื ืืืงืจื ืฉื ื ืืฆืื ืฉื ื ืงืืืืช ืชืืจืคื. ืืืงืจืืืืช ืืืคืขืืช ืืืืื ืืืืฆืขืืช ืืืืคืืื ืื randomize_layout ื-no_randomize_layout, ืืืืจืฉืช ืืืืจืช ืกืื ืืืืฆืขืืช ืืืื "-randomize-layout-seed" ืื "-randomize-layout-seed-file".
- ื ืืกืฃ ืืื "-fstrict-flex-arrays=" ", ืฉืืืืฆืขืืชื ื ืืชื ืืฉืืื ืืืืืืืช ืฉื ืจืืื ืืขืจื ืืืืฉ ืืืื ืื (Flexible Array Members, ืืขืจื ืืืืื ืืืชื ืืืืืจ ืืกืืฃ ืืืื ื). ืืืฉืจ ืืืืืจ ื-0 (ืืจืืจืช ืืืื), ืืืืื ื ืืืืจืื ืฉื ืืืื ื ืขื ืืขืจื ืืขืืื ืชืืื ืืืขืจื ืืืืฉ, 1 - ืจืง ืืืืื [], [0] ื-[1] ืืขืืืืื ืืืขืจื ืืืืฉ, 2 - ืืืืื ืืืื [] ื-[0] ืืขืืืืื ืืื ืืขืจื ืืืืฉ.
- ื ืืกืคื ืชืืืื ื ืืกืืื ืืช ืืฉืคื ืืืืืช C HLSL (High-Level Shader Language), ืืืฉืืฉืช ื-DirectX ืืืชืืืช ืืฆืืืืช.
- ื ืืกืฃ "-Warray-parameter" ืืื ืืืชืจืืข ืขื ืขืงืืคืช ืคืื ืงืฆืืืช ืขื ืืฆืืจืืช ืืจืืืื ืืื ืื ืชืืืืืช ืืงืฉืืจืืช ืืืขืจืืื ืืืืจื ืงืืืข ืืืฉืชื ื.
- ืชืืืืืช ืืฉืืคืจืช ืขื MSVC. ื ืืกืคื ืชืืืื ื-"#pragma function" (ืื ืื ืืช ืืืืืจ ืืืฆืืจ ืงืจืืืช ืคืื ืงืฆืื ืืืงืื ืืจืืื ืืืืืขืช) ื-"#pragma alloc_text" (ืืืืืจ ืืช ืฉื ืืงืืข ืขื ืงืื ืืคืื ืงืฆืื) ืืืกืืคืง ื-MSVC. ื ืืกืคื ืชืืืื ืืืืื /JMC ื-/JMC ืชืืืื MSVC.
- ืืขืืืื ื ืืฉืืช ืืชืืืื ืืชืงื ื C2X ื-C++23 ืขืชืืืืื. ืขืืืจ ืฉืคืช C, ืืืืฉืืื ืืืืจืื ืืืืื: ืชืืื ืช noreturn, ืืืืืช ืืืคืชื false ื-true, ืกืื _BitInt(N) ืขืืืจ ืืกืคืจืื ืฉืืืื ืฉื ืขืืืง ืกืืืืืช ื ืชืื, ืคืงืืืืช ืืืงืจื *_WIDTH, ืงืืืืืช u8 ืืชืืืื ืืงืืืืื ื-UTF-8.
ืขืืืจ C++, ืืืืฉืืื ืืืืจืื ืืืืื: ืืืืื ืืืืืืื, ืืืืื ABI ืฉื ืืืจื ืคืื ืงืฆืื, ืืชืืื ืืื ืื ืืกืืืจ ืฉื ืืฉืชื ืื ืื ืืงืืืืื ืืืืืืืื, ืืืคืจืืืจืื ืฉื ืืื ืืงืก ืจื ืืืื, auto(x), ืืฉืชื ืื ืื ืืืืืืืื, goto ืืชืืืืืช ืืคืื ืงืฆืืืช ืืืืฆืืจืืช ื-constexpr , ืจืฆืคื ืืจืืื ืืืคืจืืื, ืชืืื ืืจืืื ืืฉื.
- ืืืืืืืช ืืงืฉืืจืืช ืืชืืืื ื-OpenCL ื-OpenMP ืืืจืืื. ื ืืกืคื ืชืืืื ืืกืืืืช OpenCL cl_khr_subgroup_rotate.
- ืขืืืจ ืืจืืืืงืืืจืช x86, ื ืืกืคื ืืื ื ืืคื ื ืคืืืขืืืืช ืืืขืืืื ืื ืืจืืืช ืืืืฆืืข ืกืคืงืืืืืื ืฉื ืืืจืืืช ืืืืจ ืคืขืืืืช ืงืคืืฆื ืืืชื ืืืชื ืืช ืงืืืื. ืืืขืื ืืชืจืืฉืช ืขืงื ืขืืืื ืื ืข ืฉื ืืืจืืืช ืืื ืืืืจ ืืืจืืช ืืกื ืืฃ ืืืืืจืื (SLS, Straight Line Speculation). ืืื ืืืคืฉืจ ืืื ื, ืืืฆืขืช ืืืคืฉืจืืช "-mharden-sls=[none|all|return|indirect-jmp]".
- ืขืืืจ ืคืืืคืืจืืืช ืืชืืืืืช ืืกืืืืช SSE2, ื ืืกืฃ ืืกืื _Float16, ืืฉืจ ืืืืงื ืืืืฆืขืืช ืกืื float ืืืงืจื ืฉื ืืืกืจ ืชืืืื ืืืืจืืืช AVX512-FP16.
- ื ืืกืฃ ืืื "-m[no-]rdpru" ืืื ืืฉืืื ืืฉืืืืฉ ืืืืจืื RDPRU, ื ืชืื ืืื ืืืขืืื AMD Zen2.
- ืืืกืืฃ ืืช ืืืื "-mfunction-return=thunk-extern" ืืื ืืืื ืืคื ื ืคืืืขืืช RETBLEED, ืืคืืขืืช ืขื ืืื ืืืกืคืช ืจืฆืฃ ืืืจืืืช ืฉืื ืืืื ืืขืืจืืืช ืฉื ืื ืื ืื ืืืืฆืืข ืืกืคืงืืืืืื ืขืืืจ ืขื ืคืื ืขืงืืคืื.
ืืืืืฉืื ืืจืืืืื ื-LLVM 15.0:
- ื ืืกืคื ืชืืืื ืืืจืืืืงืืืจืืช Cortex-M85 CPU, Armv9-A, Armv9.1-A ื-Armv9.2-A, ืืจืืืืช Armv8.1-M PACBTI-M.
- ื ืืกืฃ ืงืฆื ืขืืจืคื ื ืืกืืื ื ืขืืืจ DirectX ืืชืืื ืืคืืจืื DXIL (DirectX Intermediate Language) ืืืฉืืฉ ืขืืืจ ืืฆืืืืช DirectX. ืืงืฆื ืืืืืจื ืืืคืขื ืขื ืืื ืฆืืื ืืคืจืืืจ "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=DirectX" ืืืืื ืืืจืืื.
- Libc++ ืืืฉืืื ืืืืฉื ืชืืื ืืช ืืืฉืืช ืฉื ืชืงื ื C++20 ื-C++2b, ืืืื ืืฉืืืช ืืืืฉืื ืฉื ืกืคืจืืืช "ืคืืจืื" ืืืืจืกื ืื ืืกืืื ืืช ืืืืฆืขืช ืฉื ืกืคืจืืืช "ืืืืืื".
- ืงืฆื ืืืืจื ืืฉืืคืจ ืขืืืจ ืืจืืืืงืืืจืืช x86, PowerPC ื-RISC-V.
- ืืืืืืืช ืฉื ืืงืฉืจ LLD ื-LLDB ืืืืื ืฉืืคืจื.
ืืงืืจ: OpenNet.ru