เบซเบผเบฑเบเบเบฒเบเบซเบปเบเปเบเบทเบญเบเบเบญเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒ, เบเบฒเบเบเปเบญเบเปเบเบเบเบฒเบ LLVM 15.0 เปเบเปเบเบทเบเบเปเบฒเบชเบฐเปเบซเบเบต - เบเบธเบเปเบเบทเปเบญเบเบกเบทเบเบตเปเปเบเบปเปเบฒเบเบฑเบเปเบเปเบเบฑเบ GCC (compilers, optimizers เปเบฅเบฐ code generator) เบเบตเปเบฅเบงเบเบฅเบงเบกเบเบฑเบเบเบฒเปเบเบเบเบฒเบเปเบเบปเปเบฒเปเบเปเบ bitcode เบฅเบฐเบเบฑเบเบเบฒเบเบเบฒเบเบเบญเบเบเปเบฒเปเบเบฐเบเปเบฒ virtual เบเปเบฒเบเบเบท RISC (เปเบเบทเปเบญเบ virtual เบฅเบฐเบเบฑเบเบเปเปเบฒเบเบตเปเบกเบต a. เบฅเบฐเบเบปเบเบเบฒเบเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบเบซเบผเบฒเบเบฅเบฐเบเบฑเบ). เบฅเบฐเบซเบฑเบ pseudocode เบเบตเปเบชเปเบฒเบเบเบถเปเบเบชเบฒเบกเบฒเบเบเบทเบเบเปเบฝเบเปเบเบเปเบเปเบเบปเบงเบชเบฑเบเบฅเบงเบก JIT เปเบเบปเปเบฒเปเบเปเบเบเปเบฒเปเบเบฐเบเปเบฒเบเบญเบเปเบเบทเปเบญเบเบเบฑเบเปเบเบเบเบปเบเปเบเปเบงเบฅเบฒเบเบตเปเบเปเบฒเปเบเบตเบเปเบเบเบเบฒเบ.
เบเบฒเบเบเบฑเบเบเบธเบเบเบตเปเบชเปเบฒเบเบฑเบเปเบ Clang 15.0:
- เบชเปเบฒเบฅเบฑเบเบฅเบฐเบเบปเบเบเบตเปเบญเบตเบเปเบชเปเบชเบฐเบเบฒเบเบฑเบเบเบฐ x86, เบเบธเบ "-fzero-call-used-regs" เปเบเปเบเบทเบเปเบเบตเปเบก, เปเบเบดเปเบเบฎเบฑเบเบเบฐเบเบฑเบเบงเปเบฒเบเบฒเบเบฅเบปเบเบเบฐเบเบฝเบ CPU เบเบฑเบเบซเบกเบปเบเบเบตเปเปเบเปเปเบเบเบฑเบเบเบฑเบเบเบทเบเบเบฑเปเบเบเบทเบเปเบซเบกเปเปเบเบฑเบเบชเบนเบเบเปเบญเบเบเบตเปเบเบฐเบเบฑเบเบเบทเบเบเบฒเบเบเบงเบเบเบธเบกเบเบฒเบเบเบฑเบเบเบฑเบ. เบเบปเบงเปเบฅเบทเบญเบเบเบตเปเบเปเบงเบเปเบซเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบญเบเบเบฑเบเบเบฒเบเบฎเบปเปเบงเปเบซเบฅเบเบญเบเบเปเปเบกเบนเบเบเบฒเบเบซเบเปเบฒเบเบตเปเปเบฅเบฐเบซเบผเบธเบเบเปเบญเบเบเปเบฒเบเบงเบเบเบฅเบฑเบญเบเบเบตเปเปเบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเปเบชเปเบฒเบ ROP (Return-Oriented Programming) gadgets เปเบเบเบฒเบเบเบธเบเบเบปเปเบเบเบฐเบกเบฒเบ 20%.
- เบเบฒเบ Randomization เบเบญเบเบเบฒเบเบเบฑเบเบงเบฒเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบเบญเบเปเบเบเบชเปเบฒเบเบชเปเบฒเบฅเบฑเบเบฅเบฐเบซเบฑเบ C เปเบเปเบเบทเบเบเบฐเบเบดเบเบฑเบ, เปเบเบดเปเบเปเบฎเบฑเบเปเบซเปเบเบฒเบเบชเบฐเบเบฑเบเปเบญเบปเบฒเบเปเปเบกเบนเบเบเบฒเบเปเบเบเบชเปเบฒเบเบเบตเปเบชเบฑเบเบชเบปเบเปเบเบเปเบฅเบฐเบเบตเบเบตเปเบกเบตเบเบฒเบเบเบธเบเบเบปเปเบเบเปเบญเบเบซเบงเปเบฒเบ. เบเบฒเบเบชเบธเปเบกเปเบกเปเบเปเบเบตเบเปเบฅเบฐเบเบดเบเปเบเบเปเบเปเบเบธเบเบฅเบฑเบเบชเบฐเบเบฐ randomize_layout เปเบฅเบฐ no_randomize_layout, เปเบฅเบฐเบฎเบฝเบเบฎเปเบญเบเปเบซเปเบกเบตเบเบฒเบเบเบฑเปเบเบเปเบฒเปเบเปเบเปเบเบเปเบเปเบเบธเบ "-frandomize-layout-seed" เบซเบผเบท "-frandomize-layout-seed-file".
- เปเบเบตเปเบก "-fstrict-flex-arrays=" เบเบธเบ ", เบเบตเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบเบงเบเบเบธเบกเบเบญเบเปเบเบเบชเปเบฒเบฅเบฑเบเบญเบปเบเบเบฐเบเบญเบ array เบเบตเปเบกเบตเบเบงเบฒเบกเบเบทเบเบซเบเบธเปเบเปเบเปเบเบเบชเปเบฒเบ (เบชเบฐเบกเบฒเบเบดเบ Array เบเบตเปเบกเบตเบเบงเบฒเบกเบเบทเบเบซเบเบธเปเบ, array เบเบญเบเบเบฐเบซเบเบฒเบเบเบตเปเบเปเปเบกเบตเบเปเบฒเบเบปเบเบขเบนเปเปเบเบเบญเบเบเปเบฒเบเบเบญเบเปเบเบเบชเปเบฒเบ). เปเบกเบทเปเบญเบเบฑเปเบเปเบเบฑเบ 0 (เบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบ), เบญเบปเบเบเบฐเบเบญเบเบชเบธเบเบเปเบฒเบเบเบญเบเปเบเบเบชเปเบฒเบเบเบตเปเบกเบต array เบเบฐเบเบทเบเบเบฐเบกเบงเบเบเบปเบเปเบเบฑเบ array เบเปเบฝเบเปเบเบเปเบเปเบชเบฐเปเปเบต, 1 - เบเบฐเปเบฒเบเปเบเบปเปเบฒเบเบฑเปเบ [], [0] เปเบฅเบฐ [1] เบเบทเบเบเบฐเบกเบงเบเบเบปเบเปเบเบฑเบ array เบเปเบฝเบเปเบเบเปเบเป, 2 - เบเบฐเปเบฒเบเปเบเบปเปเบฒเบเบฑเปเบ. [] เปเบฅเบฐ [0] เบเบทเบเบเบฐเบกเบงเบเบเบปเบเบเบทเบเบฑเบเบญเบฒเปเบฃเบเบตเปเบเปเบฝเบเปเบเบเปเบเป.
- เปเบเบตเปเบกเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบเบฒเบเบเบปเบเบฅเบญเบเบชเปเบฒเบฅเบฑเบเบเบฒเบชเบฒ C-like HLSL (High-Level Shader Language), เบเบตเปเปเบเปเปเบ DirectX เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฝเบ shaders.
- เปเบเบตเปเบก "-Warray-parameter" เปเบเบทเปเบญเปเบเบทเบญเบเบเปเบฝเบงเบเบฑเบเบเบฒเบ overriding functions เบเบฑเบเบเบฒเบเบเบฐเบเบฒเบ argument เบเบตเปเบเปเปเปเบเบปเปเบฒเบเบฑเบเปเบเปเบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบ arrays fixed- เปเบฅเบฐ variable-length.
- เบเบฑเบเบเบธเบเบเบงเบฒเบกเปเบเบปเปเบฒเบเบฑเบเปเบเปเบเบฑเบ MSVC. เปเบเบตเปเบกเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบชเปเบฒเบฅเบฑเบ "#pragma function" (เปเบเบฐเบเปเบฒ compiler เปเบเบทเปเบญเบชเปเบฒเบเบเบฒเบเปเบญเบตเปเบเบเบฑเบเบเบฑเบเปเบเบเบเบตเปเบเบฐเบเบฐเบซเบเบฒเบ inline) เปเบฅเบฐ "#pragma alloc_text" (เบเปเบฒเบเบปเบเบเบทเปเบเบญเบเบเบฒเบเบชเปเบงเบเบเบตเปเบกเบตเบฅเบฐเบซเบฑเบเบเบฑเบเบเบฑเบ) เบชเบฐเบซเบเบญเบเปเบซเปเปเบ MSVC. เปเบเบตเปเบกเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบชเปเบฒเบฅเบฑเบเบเบธเบ / JMC เบเบตเปเปเบเบปเปเบฒเบเบฑเบเปเบเปเบเบฑเบ MSVC เปเบฅเบฐ / JMC.
- เบงเบฝเบเบเบฒเบเบชเบทเบเบเปเปเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบกเบฒเบเบเบฐเบเบฒเบ C2X เปเบฅเบฐ C++23 เปเบเบญเบฐเบเบฒเบเบปเบ. เบชเปเบฒเบฅเบฑเบเบเบฒเบชเบฒ C, เบเปเปเปเบเบเบตเปเปเบกเปเบเบเบฐเบเบดเบเบฑเบ: เบเบธเบเบฅเบฑเบเบชเบฐเบเบฐ noreturn, เบเปเบฒเบชเปเบฒเบเบฑเบเบเบตเปเบเปเปเบเบทเบเบเปเบญเบเปเบฅเบฐเบเบงเบฒเบกเบเบดเบ, เบเบฐเปเบเบ _BitInt(N) เบชเปเบฒเบฅเบฑเบเบเปเบฒเบเบงเบเปเบเบฑเบกเบเบญเบเบเบงเบฒเบกเปเบฅเบดเบเบเบญเบเบเบดเบ, *_WIDTH macros, เบเปเบฒเบเปเบฒเบซเบเปเบฒ u8 เบชเปเบฒเบฅเบฑเบ UTF-8 เบเบปเบงเบญเบฑเบเบชเบญเบเบเบตเปเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบ.
เบชเปเบฒเบฅเบฑเบ C ++, เบเปเปเปเบเบเบตเปเปเบกเปเบเบเบฐเบเบดเบเบฑเบ: เบเบฒเบเบฅเบงเบกเบเบปเบงเบเบญเบเปเบกเบเบนเบ, เบเบฒเบเปเบเบ ABI เบเบญเบเบชเบฐเบกเบฒเบเบดเบเบเบฑเบเบเบฑเบ, เบชเบฑเปเบเบเบฒเบเปเบฅเบตเปเบกเบเบปเปเบเปเบเบเปเบเบทเปเบญเบเปเบซเบงเบเบญเบเบเบปเบงเปเบเบเบตเปเบเปเปเปเบกเปเบเบเปเบญเบเบเบดเปเบเปเบเปเบกเบเบนเบ, เบเบปเบงเบเบฐเบเบดเบเบฑเบเบเบฑเบเบชเบฐเบเบตเบซเบผเบฒเบเบกเบดเบเบด, เบญเบฑเบเบเบฐเปเบเบกเบฑเบ (x), เบเบปเบงเปเบเบเบตเปเบเปเปเปเบกเปเบเบเบปเบงเปเบ, goto เปเบฅเบฐเบเปเบฒเบเบเบทเปเปเบเบซเบเปเบฒเบเบตเปเบเบฐเบเบฒเบเปเบเบฑเบ constexpr. , delimited เบฅเปเบฒเบเบฑเบ escape, เบกเบตเบเบทเปเบเบปเบงเบญเบฑเบเบชเบญเบ escape.
- เบเบงเบฒเบกเบชเบฒเบกเบฒเบเบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบ OpenCL เปเบฅเบฐ OpenMP เปเบเปเบเบทเบเบเบฐเบซเบเบฒเบเบญเบญเบ. เปเบเบตเปเบกเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบชเปเบฒเบฅเบฑเบ OpenCL extension 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:
- เปเบเบตเปเบกเบเบฒเบเบฎเบญเบเบฎเบฑเบ CPU Cortex-M85, Armv9-A, Armv9.1-A เปเบฅเบฐ Armv9.2-A, เบชเปเบงเบเบเบฐเบซเบเบฒเบ Armv8.1-M PACBTI-M.
- Backend เบเบปเบเบฅเบญเบเบชเปเบฒเบฅเบฑเบ DirectX เปเบเปเบเบทเบเปเบเบตเปเบกเบเบตเปเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบฎเบนเบเปเบเบ DXIL (DirectX Intermediate Language) เบเบตเปเปเบเปเบชเปเบฒเบฅเบฑเบ DirectX shaders. backend เบเบทเบเปเบเบตเบเปเบเปเบเบฒเบเปเบเบเบเบฒเบเบฅเบฐเบเบธเบเบฒเบฅเบฒเบกเบดเปเบเบต โ-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=DirectXโ เปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบเบฐเบเบญเบ.
- Libc++ เบชเบทเบเบเปเปเบเบฐเบเบดเบเบฑเบเบฅเบฑเบเบชเบฐเบเบฐเปเบซเบกเปเบเบญเบเบกเบฒเบเบเบฐเบเบฒเบ C ++20 เปเบฅเบฐ C ++2b, เบฅเบงเบกเบเบฑเบเบเบฒเบเบชเปเบฒเปเบฅเบฑเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบซเปเบญเบเบชเบฐเบซเบกเบธเบ "เบฎเบนเบเปเบเบ" เปเบฅเบฐเบชเบฐเบเบฑเบเบเบปเบเบฅเบญเบเบเบตเปเบชเบฐเปเบซเบเบตเบเบญเบเบซเปเบญเบเบชเบฐเบซเบกเบธเบ "เบเบญเบเปเบเบ".
- เบเบฑเบเบเบธเบ backends เบชเปเบฒเบฅเบฑเบเบชเบฐเบเบฒเบเบฑเบเบเบฐเบเบฐเบเปเบฒ x86, PowerPC เปเบฅเบฐ RISC-V.
- เบเบงเบฒเบกเบชเบฒเบกเบฒเบเบเบญเบเบเบปเบงเปเบเบทเปเบญเบกเบเปเป LLD เปเบฅเบฐ LLDB debugger เปเบเปเบฎเบฑเบเบเบฒเบเบเบฑเบเบเบธเบ.
เปเบซเบผเปเบเบเปเปเบกเบนเบ: opennet.ru