ื ืึธื ืืขืงืก ืืืฉืื ืคืื ืึทื ืืืืืงืืื ื, ืื ืืขืืืื ื ืคืื ืื LLVM 15.0 ืคึผืจืืืขืงื ืืื ืืขืืืขื ืืขืจืืื ืื - ืึท GCC-ืงืึทืืคึผืึทืืึทืืึทื ืืึธืึธืืงืื (ืงืึทืืคึผืืืืขืจื, ืึธืคึผืืืืืืขืจืก ืืื ืงืึธื ืืขื ืขืจืึทืืึธืจืก) ืืืึธืก ืงืึทืืคึผืืืื ืืืืื ืืื ืื ืืขืจืืืืืื ืืืืงืึธืืข ืคืื โโRISC-ืืื ืืืืจืืืึทื ืื ืกืืจืึทืงืฉืึทื ื (ืึท ื ืืืขืจืืง-ืืืจืื ืืืืจืืืึทื ืืึทืฉืื ืืื ืึท ืืึทืืื-ืืืจืื ืึทืคึผืืึทืืึทืืืืฉืึทื ืกืืกืืขื). ืื ืืืฉืขื ืขืจืืืืึทื ืคึผืกืขืืืืึธืงืึธืืข ืงืขื ืขื ืืืื ืงืึธื ืืืขืจืืขื ืืื ืึท JIT ืงืึทืืคึผืืืืขืจ ืืื ืืึทืฉืื ืืื ืกืืจืืงืฆืืขืก ืืืืึทื ืืื ืืขืจ ืฆืืื ืคืื ืืืจืืคืืจืื ื ืคืื ืื ืคึผืจืึธืืจืึทื.
ืืืืคึผื ืืืคึผืจืืืืืึทื ืฅ ืืื Clang 15.0:
- ืคึฟืึทืจ ืกืืกืืขืืขื ืืืืืจื ืืืืฃ ืงืก86 ืึทืจืงืึทืืขืงืืฉืขืจ, ืื "-fzero-call-used-regs" ืคืึธื ืืื ืฆืืืขืืขืื, ืืืึธืก ืื ืฉืืจื ืึทื ืึทืืข ืงืคึผื ืจืขืืืฉืืกืืขืจื ืืขื ืืฆื ืืื ืื ืคึฟืื ืงืฆืืข ืืขื ืขื ืืึทืฉืืขืืืง ืฆื ื ืื ืืืืืขืจ ืืืจ ืฆืืจืืงืงืืืขื ืงืึธื ืืจืึธื ืคึฟืื ืื ืคึฟืื ืงืฆืืข. ืืขืจ ืึธืคึผืฆืืข ืึทืืึทืื ืืืจ ืฆื ืืึทืฉืืฆื ืงืขืื ืืื ืคึฟืึธืจืืึทืฆืืข ืืืงืึทืืืฉ ืคืื ืคืึทื ืืงืฉืึทื ื ืืื ืจืขืืืฆืืจื ืื ื ืืืขืจ ืคืื ืืืึทืงืก ืคึผืึทืกืืง ืคึฟืึทืจ ืืืืขื ROP (ืฆืืจืืง-ืึธืจืืขื ืืื ืคึผืจืึธืืจืึทืืืื ื) ืืึทืืืขืฅ ืืื ืขืงืกืคึผืืืืฅ ืืื ืืขืขืจืขื 20%.
- ืจืึทื ืืึธืืืืึทืืืึธื ืคืื ืืืงืึธืจื ืคึผืืืืกืืึทื ื ืคืื ืกืืจืึทืงืืฉืขืจื ืคึฟืึทืจ C ืงืึธื ืืื ืืืคึผืืึทืืขื ืึทื, ืืืึธืก ืงืึทืืคึผืืืงืืืฅ ืื ืืงืกืืจืึทืงืฉืึทื ืคืื ืืึทืื ืคืื ืกืืจืึทืงืืฉืขืจื ืืื ืคืึทื ืคืื ืขืงืกืคึผืืืืืืืฉืึทื ืคืื ืืืึทืื ืขืจืึทืืืืืืื. ืจืึทื ืืึธืืืืึทืืืึธื ืืื ืืืืกืืขืืจืืื ืืืืฃ ืืื ืึทืืืขืง ืืื ืื ืึทืืจืืืืืฅ ืจืึทื ืืึธืืืืข_ืืืืึทืื ืืื ืงืืื_ืจืึทื ืืึธืืืืข_ืืืืึทืื, ืืื ืจืืงืืืืืขืจื ืืึทืฉืืขืืืงื ืึท ืืืืืขื ื ืืฆื ืื "-ืคืจืึทื ืืึธืืืืข-ืืืืกืืืื-ืืืืืขื" ืึธืืขืจ "-ืคืจืึทื ืืึธืืืืข-ืืืืึทืื-ืืืืืขื-ืืขืงืข" ืคืึธื.
- ืฆืืืขืืขืื "-fstrict-flex-arrays=" ืคืึธื ", ืืื ืืืึธืก ืืืจ ืงืขื ืขื ืงืึธื ืืจืึธืืืจื ืื ืืึทืื ืืจืื ืคึฟืึทืจ ืึท ืคืืขืงืกืึทืืึทื ืืขื ืืข ืขืืขืืขื ื ืืื ืกืืจืึทืงืืฉืขืจื (Flexible Array Members, ืึท ืืขื ืืข ืคืื โโืื ืืขืคืึทื ืึทื ืืจืืืก ืืื ืื ืกืืฃ ืคืื ืื ืกืืจืืงืืืจ). ืืืขื ืืึทืฉืืืื ืฆื 0 (ืคืขืืืงืืึทื), ืื ืืขืฆืืข ืขืืขืืขื ื ืคืื ืื ืกืืจืืงืืืจ ืืื ืึท ืืขื ืืข ืืื ืฉืืขื ืืืง ืคึผืจืึทืกืขืกื ืืื ืึท ืคืืขืงืกืึทืืึทื ืืขื ืืข, 1 - ืืืืื ืกืืืขืก [], [0] ืืื [1] ืืขื ืขื ืคึผืจืึทืกืขืกื ืืื ืึท ืคืืขืงืกืึทืืึทื ืืขื ืืข, 2 - ืืืืื ืกืืืขืก [] ืืื [0] ืืขื ืขื ืคึผืจืึทืกืขืกื ืืื ืึท ืคืืขืงืกืึทืืึทื ืืขื ืืข.
- ืฆืืืขืืืืื ืืงืกืคึผืขืจืืขื ืึทื ืฉืืืฆื ืคึฟืึทืจ ืื C-ืืื ืฉืคึผืจืึทื HLSL (High-Level Shader Language), ืืขื ืืฆื ืืื ืืืจืขืงืืงืก ืคึฟืึทืจ ืฉืจืืืื ืฉืึทืืขืจื.
- ืฆืืืขืืขืื "-Warray-parameter" ืฆื ืืืึธืจืขื ืขื ืืืขืื ืึธืืืืขืจืจืืืืื ื ืคืึทื ืืงืฉืึทื ื ืืื ืื ืงืึทืืคึผืึทืืึทืืึทื ืึทืจืืืืขื ื ืืขืงืืขืจืืืฉืึทื ื ืคึฟืึทืจืืื ืื ืืื ืคืึทืจืคืขืกืืืงื ืืื ืืืขืจืืึทืืึทื-ืืขื ื ืขืจืืื.
- ืืืคึผืจืืืื ืงืึทืืคึผืึทืืึทืืืืึทืื ืืื MSVC. ืฆืืืขืืืืื ืฉืืืฆื ืคึฟืึทืจ "#ืคึผืจืึทืืืึท ืคึฟืื ืงืฆืืข" (ืื ืกืืจืึทืงื ืื ืงืึทืืคึผืืืืขืจ ืฆื ืืืฉืขื ืขืจืืื ืึท ืคืื ืงืฆืืข ืจืืคื ืึทื ืฉืืึธื ืคืื ืื ืืื ืข ืืงืกืคึผืึทื ืฉืึทื) ืืื "#ืคึผืจืึทืืืึท ืึทืืืึธืง_ืืขืงืกื" (ืืืคืืื ื ืื ื ืึธืืขื ืคืื ืื ืึธืคึผืืืืืื ื ืืื ืื ืคืื ืงืฆืืข ืงืึธื) ืฆืืืขืฉืืขืื ืืื MSVC. ืฆืืืขืืืืื ืฉืืืฆื ืคึฟืึทืจ MSVC-ืงืึทืืคึผืึทืืึทืืึทื / JMC ืืื / JMC ืคืืึทืืก.
- ืึทืจืืขื ืืืื ืฆื ืฉืืืฆื ืฆืืงืื ืคึฟื C2X ืืื C ++23 ืกืืึทื ืืึทืจืืก. ืคึฟืึทืจ ืื C ืฉืคึผืจืึทื, ืื ืคืืืืขื ืืข ืืขื ืขื ืืืคึผืืึทืืขื ืึทื: ืื noreturn ืึทืืจืืืืื, ืื ืืขืจืืื ืขื ืคืึทืืฉ ืืื ืืืช, ืื _BitInt (N) ืืืคึผ ืคึฟืึทืจ ืื ืืึทืืืฉืขืจื ืคืื ืึท ืืขืืขืื ืืืกื ืืืคืงืืึทื, *_WIDTH ืืึทืงืจืึธืก, ืื u8 ืคึผืจืขืคืืงืก ืคึฟืึทืจ UTF-8 ืขื ืงืึธืืืื ืืืชืืืช.
ืคึฟืึทืจ C ++, ืื ืคืืืืขื ืืข ืืขื ืขื ืืืคึผืืึทืืขื ืึทื: ืืึธืืืืข ืฆืื ืืืคืืืกื, ืึทืื ืืคืืขืืื ืืขืจืืงืืื ืคืื ืคืื ืงืฆืืข ืืืืืืืืขืจ, ืืืคืืืื ืืื ืึทืืืฉ ืื ืืืืึทืืืืืืฉืึทื ืคืื ื ืื-ืืืืข ืืืขืจืืึทืืึทืื ืืื ืืึทืืืฉืืื, ืืืืืืืืืขื ืกืืึธื ืึทื ืืื ืืขืงืก ืึธืคึผืขืจืืืืขืจื, ืึทืืืึธ (ืจืขื ืืืขื ), ื ืื-ืืืืขืจืึทื ืืืขืจืืึทืืึทืื, ืืึธืืึธ ืืื ืืึทืืขืืก ืืื ืคืึทื ืืงืฉืึทื ื ืืขืจืงืืขืจื ืืื ืงืึธื ืกืืขืงืกืคึผืจ , ืืขืืืืืืขื ืึทื ืืืืืคื ืกืืงืืืึทื ืกืื, ืืขืืืืกื ืึทื ืืืืืคื ืืืชืืืช.
- ืื ืงืืืคึผืึทืืืืึทืืื ืคึฟืึทืจืืื ืื ืืื OpenCL ืืื OpenMP ืฉืืืฆื ืืึธืื ืฉืืื ืืงืกืคึผืึทื ืืื. ืฆืืืขืืขืื ืฉืืืฆื ืคึฟืึทืจ ืื OpenCL ืคืึทืจืืขื ืืขืจืื ื cl_khr_subgroup_rotate.
- ืคึฟืึทืจ ืื x86 ืึทืจืงืึทืืขืงืืฉืขืจ, ืฉืืฅ ืืื ืฆืืืขืืขืื ืงืขืื ืืืึทืื ืขืจืึทืืืืืืื ืืื ืคึผืจืึทืกืขืกืขืจื ืืขืคึฟืืจื ืืืจื ืกืคึผืขืงืืืึทืืืืืข ืืืจืืคืืจืื ื ืคืื ืื ืกืืจืึทืงืฉืึทื ื ื ืึธื ืืืืึทืืื ืื ืคืึธืจืืืก ืฉืคึผืจืื ืืขื ืึทืคึผืขืจืืืฉืึทื ื. ืืขืจ ืคึผืจืึธืืืขื ืึทืงืขืจื ืจืขืื ืฆื ืคึผืจื-ืขืืคึผืืืื ืคึผืจืึทืกืขืกืื ื ืคืื ืื ืกืืจืึทืงืฉืึทื ื ืืืืื ื ืึธื ืื ืฆืืืืึทื ืืืืขื ืืื ืืึผืจืื (SLS, Straight Line Speculation). ืฆื ืืขืื ืฉืืฅ, ืื ืึธืคึผืฆืืข "-mharden-sls=[none|all|return|indirect-jmp]" ืืื ืคืืจืืขืืืืื.
- ืคึฟืึทืจ ืคึผืืึทืืคืึธืจืืก ืืืึธืก ืฉืืืฆื ืื SSE2 ืคืึทืจืืขื ืืขืจืื ื, ืื _Float16 ืืืคึผ ืืื ืฆืืืขืืขืื, ืืืึธืก ืืื ืขืืืึทืืืืืื ืืื ืื ืคืืึธืื ืืืคึผ ืืื ืคืึทื ืคืื ืคืขืื ืคืื ืฉืืืฆื ืคึฟืึทืจ AVX512-FP16 ืื ืกืืจืึทืงืฉืึทื ื.
- ืฆืืืขืืขืื "-m[no-]rdpru" ืคืึธื ืฆื ืงืึธื ืืจืึธืืืจื ืื ื ืืฆื ืคืื ืื RDPRU ืืืืขื, ืืขืฉืืืฆื ืกืืึทืจืืื ื ืืื AMD Zen2 ืคึผืจืึทืกืขืกืขืจื.
- ืฆืืืขืืขืื ืื "-mfunction-return=thunk-extern" ืคืึธื ืฆื ืืึทืฉืืฆื ืงืขืื ืื RETBLEED ืืืึทืื ืขืจืึทืืืืืื, ืืืึธืก ืึทืจืืขื ืืืจื ืึทืืื ื ืึท ืกืืงืืืึทื ืก ืคืื ืื ืกืืจืึทืงืฉืึทื ื ืืืึธืก ืืงืกืงืืืื ืื ืื ืืืึทืืืืืึทื ื ืคืื ืื ืกืคึผืขืงืืืึทืืืืืข ืืืจืืคืืจืื ื ืืขืงืึทื ืืืึทื ืคึฟืึทืจ ืืืืืจืขืงื ืฆืืืืืื.
ืฉืืืกื ืื ืึธืืืืืืฉืึทื ื ืืื LLVM 15.0:
- ืฆืืืขืืืืื ืฉืืืฆื ืคึฟืึทืจ Cortex-M85 ืงืคึผื, Armv9-A, Armv9.1-A ืืื Armv9.2-A ืึทืจืงืึทืืขืงืืฉืขืจื, Armv8.1-M PACBTI-M ืืงืกืืขื ืฉืึทื ื.
- ืึทื ืืงืกืคึผืขืจืืขื ืึทื ืืึทืงืขื ื ืคึฟืึทืจ ืืืจืขืงืืงืก ืืื ืฆืืืขืืขืื ืืืึธืก ืฉืืืฆื ืื DXIL (DirectX ืื ืืขืจืืขืืืึทืืข ืฉืคึผืจืึทื) ืคึฟืึธืจืืึทื ืืขื ืืฆื ืคึฟืึทืจ ืืืจืขืงืืงืก ืฉืึทืืขืจื. ืื ืืึทืงืขื ื ืืื ืขื ืืืืึทืื ืืืจื ืกืคึผืขืฆืืคืืฆืืจื ืื "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=DirectX" ืคึผืึทืจืึทืืขืืขืจ ืืขืฉืึทืก ืคึฟืึทืจืืึทืืืื ื.
- Libc ++ ืืืื ืฆื ืื ืกืืจืืืขื ื ื ืืึท ืคึฟืขืึดืงืืืื ืคืื ืื C ++ 20 ืืื C ++ 2b ืกืืึทื ืืึทืจืืก, ืึทืจืืึทื ืืขืจืขืื ื ืื ืงืึทืืคึผืืืฉืึทื ืคืื ืื ืืืคึผืืึทืืขื ืืืืฉืึทื ืคืื ืื "ืคืึธืจืืึทื" ืืืืืืึธืืขืง ืืื ืื ืคืืจืืขืืืืื ืืงืกืคึผืขืจืืขื ืึทื ืืืขืจืกืืข ืคืื โโโโืื "ืจืืื ืืืฉืื" ืืืืืืึธืืขืง.
- ืืืคึผืจืืืื ืืึทืงืขื ืื ืคึฟืึทืจ x86, PowerPC ืืื RISC-V ืึทืจืงืึทืืขืงืืฉืขืจื.
- ืื ืงืืืคึผืึทืืืืึทืืื ืคืื ืื LLD ืืื ืงืขืจ ืืื ืื LLDB ืืืืืืืขืจ ืืขื ืขื ืืืคึผืจืืืื.
ืืงืืจ: opennet.ru