LLVM 12.0 เช•เชฎเซเชชเชพเช‡เชฒเชฐ เชธเซเชฏเซเชŸเชจเซเช‚ เชชเซเชฐเช•เชพเชถเชจ

เชตเชฟเช•เชพเชธเชจเชพ เช› เชฎเชนเชฟเชจเชพ เชชเช›เซ€, LLVM 12.0 เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเซเช‚ เชชเซเชฐเช•เชพเชถเชจ เชฐเชœเซ‚ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ - เชเช• GCC-เชธเซเชธเช‚เช—เชค เชŸเซ‚เชฒเช•เชฟเชŸ (เช•เชฎเซเชชเชพเช‡เชฒเชฐเซเชธ, เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชเชฐเซเชธ เช…เชจเซ‡ เช•เซ‹เชก เชœเชจเชฐเซ‡เชŸเชฐ) เชœเซ‡ RISC-เชœเซ‡เชตเซ€ เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชธเซ‚เชšเชจเชพเช“เชจเชพ เชฎเชงเซเชฏเชตเชฐเซเชคเซ€ เชฌเชฟเชŸเช•เซ‹เชกเชฎเชพเช‚ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเซเชธเชจเซเช‚ เชธเช‚เช•เชฒเชจ เช•เชฐเซ‡ เช›เซ‡ (เชเช• เชจเซ€เชšเชพ-เชธเซเชคเชฐเชจเชพ เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชฎเชถเซ€เชจ เชธเชพเชฅเซ‡. เชฎเชฒเซเชŸเชฟ-เชฒเซ‡เชตเชฒ เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจ เชธเชฟเชธเซเชŸเชฎ). เชœเชจเชฐเซ‡เชŸ เช•เชฐเซ‡เชฒ เชธเซเชฏเซเชกเซ‹เช•เซ‹เชกเชจเซ‡ JIT เช•เชฎเซเชชเชพเชˆเชฒเชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎ เชเช•เซเชเชฟเช•เซเชฏเซเชถเชจ เชธเชฎเชฏเซ‡ เชธเซ€เชงเชพ เชœ เชฎเชถเซ€เชจ เชธเซ‚เชšเชจเชพเช“เชฎเชพเช‚ เชฐเซ‚เชชเชพเช‚เชคเชฐเชฟเชค เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡.

เชฐเชฃเช•เชพเชฐ 12.0 เชฎเชพเช‚ เชธเซเชงเชพเชฐเชพเช“:

  • C++20 เชธเซเชŸเชพเชจเซเชกเชฐเซเชกเชฎเชพเช‚ เชชเซเชฐเชธเซเชคเชพเชตเชฟเชค "เชธเช‚เชญเชตเชฟเชค" เช…เชจเซ‡ "เช…เชธเช‚เชญเชตเชฟเชค" เชตเชฟเชถเซ‡เชทเชคเชพเช“ เชฎเชพเชŸเซ‡เชจเซ‹ เช†เชงเชพเชฐ เชกเชฟเชซเซ‰เชฒเซเชŸ เชฐเซ‚เชชเซ‡ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เช›เซ‡ เช…เชจเซ‡ เชธเช•เซเชทเชฎ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เช›เซ‡, เชœเซ‡ เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชเชฐเชจเซ‡ เชถเชฐเชคเซ€ เชฐเชšเชจเชพ เชŸเซเชฐเชฟเช—เชฐ เชฅเชตเชพเชจเซ€ เชธเช‚เชญเชพเชตเชจเชพ เชตเชฟเชถเซ‡ เชœเชพเชฃ เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡ (เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, "[[เชธเช‚เชญเชตเชฟเชคเชคเชพ ]] เชœเซ‹ (เชฐเซ‡เชจเซเชกเชฎ > 0) {โ€œ).
  • AMD Zen 3 (-march=znver3), Intel Alder Lake (-march=alderlake) เช…เชจเซ‡ Intel Sapphire Rapids (-march=sapphirerapids) เชชเซเชฐเซ‹เชธเซ‡เชธเชฐเซ‹ เชฎเชพเชŸเซ‡ เช‰เชฎเซ‡เชฐเชพเชฏเซ‡เชฒ เชธเชชเซ‹เชฐเซเชŸ.
  • x86-64 เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐ เชธเซเชคเชฐเซ‹ เชชเชธเช‚เชฆ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ "-march=x234-86-v[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 CPUs เชฎเชพเชŸเซ‡ เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจ เชธเช•เซเชทเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเซ‡ "-mcpu=neoverse-v1" เชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹.
  • AArch64 เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐ เชฎเชพเชŸเซ‡, "__aarch64_cas8_relax" เชœเซ‡เชตเชพ เช…เชฃเซ เช“เชชเชฐเซ‡เชถเชจ เชนเซ‡เชฒเซเชชเชฐ เชซเช‚เช•เซเชถเชจเชจเซ‡ เชธเช•เซเชทเชฎ เช…เชฅเชตเชพ เชจเชฟเชทเซเช•เซเชฐเชฟเชฏ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชจเชตเชพ เช•เชฎเซเชชเชพเช‡เชฒเชฐ เชซเซเชฒเซ‡เช—เซเชธ "-moutline-atomics" เช…เชจเซ‡ "-mno-outline-atomics" เช‰เชฎเซ‡เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เช›เซ‡. เช†เชตเชพ เชซเช‚เช•เซเชถเชจเซเชธ เชฐเชจเชŸเชพเช‡เชฎ เชชเชฐ เชถเซ‹เชงเซ€ เช•เชพเชขเซ‡ เช›เซ‡ เช•เซ‡ เชถเซเช‚ LSE (เชฎเซ‹เชŸเชพ เชธเชฟเชธเซเชŸเชฎ เชเช•เซเชธเซเชŸเซ‡เชจเซเชถเชจเซเชธ) เชธเชชเซ‹เชฐเซเชŸ เช‰เชชเชฒเชฌเซเชง เช›เซ‡ เช…เชจเซ‡ เช†เชชเซ‡เชฒ เช…เชฃเซ เชชเซเชฐเซ‹เชธเซ‡เชธเชฐ เชธเซ‚เชšเชจเชพเช“เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡ เช…เชฅเชตเชพ เชธเชฟเช‚เช•เซเชฐเชจเชพเช‡เชเซ‡เชถเชจ เชฎเชพเชŸเซ‡ LL/SC (เชฒเซ‹เชก-เชฒเชฟเช‚เช•/เชธเซเชŸเซ‹เชฐ-เช•เชจเซเชกเชฟเชถเชจเชฒ) เชธเซ‚เชšเชจเชพเช“เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡.
  • เชœเซ‚เชจเชพ เชฒเชฟเช‚เช•เชฐ เช…เชจเซ‡ เชเชธเซ‡เชฎเซเชฌเชฒเชฐ เชตเชฐเซเชคเชจ เชธเชพเชฅเซ‡ เชธเซเชธเช‚เช—เชคเชคเชพ เชฎเชพเชŸเซ‡ binutils เชธเซเชฏเซเชŸเชจเชพ เชฒเช•เซเชทเซเชฏ เชธเช‚เชธเซเช•เชฐเชฃเชจเซ‡ เชชเชธเช‚เชฆ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ "-fbinutils-version" เชตเชฟเช•เชฒเซเชช เช‰เชฎเซ‡เชฐเซเชฏเซ‹.
  • ELF เชเช•เซเชเชฟเช•เซเชฏเซเชŸเซ‡เชฌเชฒ เชซเชพเช‡เชฒเซ‹ เชฎเชพเชŸเซ‡, เชœเซเชฏเชพเชฐเซ‡ "-gz" เชซเซเชฒเซ‡เช— เชธเซเชชเชทเซเชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ zlib เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชกเชฟเชฌเช—เซ€เช‚เช— เชฎเชพเชนเชฟเชคเซ€เชจเซเช‚ เช•เชฎเซเชชเซเชฐเซ‡เชถเชจ เชกเชฟเชซเซ‰เชฒเซเชŸ เชฐเซ‚เชชเซ‡ (gz=zlib) เชธเช•เซเชทเชฎ เชนเซ‹เชฏ เช›เซ‡. เชชเชฐเชฟเชฃเชพเชฎเซ€ เช‘เชฌเซเชœเซ‡เช•เซเชŸ เชซเชพเช‡เชฒเซ‹เชจเซ‡ เชฒเชฟเช‚เช• เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ lld เช…เชฅเชตเชพ GNU binutils 2.26+ เชœเชฐเซ‚เชฐเซ€ เช›เซ‡. binutils เชจเซ€ เชœเซ‚เชจเซ€ เช†เชตเซƒเชคเซเชคเชฟเช“ เชธเชพเชฅเซ‡ เชธเซเชธเช‚เช—เชคเชคเชพ เชชเซเชจเชƒเชธเซเชฅเชพเชชเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเซ‡ "-gz=zlib-gnu" เชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹.
  • 'เช†' เชชเซ‹เช‡เชจเซเชŸเชฐ เชนเชตเซ‡ เชจเซ‹เชจเชจเชฒ เช…เชจเซ‡ เชกเชฟเชฐเซ‡เชซเชฐเชจเซเชธเซ‡เชฌเชฒ(N) เชšเซ‡เช•เซเชธ เชธเชพเชฅเซ‡ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เชœเซเชฏเชพเชฐเซ‡ เชคเชฎเชพเชฐเซ‡ NULL เชฎเซ‚เชฒเซเชฏเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชนเซ‹เชฏ เชคเซเชฏเชพเชฐเซ‡ nonnull เชฒเช•เซเชทเชฃเชจเซ‡ เชฆเซ‚เชฐ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเซ‡ "-fdelete-null-pointer-checks" เชตเชฟเช•เชฒเซเชชเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹.
  • Linux เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎ เชชเชฐ, "-fasynchronous-unwind-tables" เชฎเซ‹เชก AArch64 เช…เชจเซ‡ PowerPC เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐเซเชธ เชฎเชพเชŸเซ‡ GCC เชจเซ€ เชœเซ‡เชฎ เช…เชจเชตเชพเช‡เชจเซเชก เช•เซ‹เชฒ เช•เซ‹เชทเซเชŸเช•เซ‹ เชœเชจเชฐเซ‡เชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชธเช•เซเชทเชฎ เช›เซ‡.
  • "#pragma clang loop vectorize_width" เชฎเชพเช‚ เชตเซ‡เช•เซเชŸเชฐเชพเช‡เชเซ‡เชถเชจ เชชเชฆเซเชงเชคเชฟ เชชเชธเช‚เชฆ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ "เชจเชฟเชถเซเชšเชฟเชค" (เชกเชฟเชซเซ‹เชฒเซเชŸ) เช…เชจเซ‡ "เชธเซเช•เซ‡เชฒเซ‡เชฌเชฒ" เชตเชฟเช•เชฒเซเชชเซ‹เชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเชตเชพเชจเซ€ เช•เซเชทเชฎเชคเชพ เช‰เชฎเซ‡เชฐเชพเชˆ เช›เซ‡. "เชธเซเช•เซ‡เชฒเซ‡เชฌเชฒ" เชฎเซ‹เชก, เชตเซ‡เช•เซเชŸเชฐ เชฒเช‚เชฌเชพเชˆเชฅเซ€ เชธเซเชตเชคเช‚เชคเซเชฐ, เชชเซเชฐเชพเชฏเซ‹เช—เชฟเช• เช›เซ‡ เช…เชจเซ‡ เชธเซเช•เซ‡เชฒเซ‡เชฌเชฒ เชตเซ‡เช•เซเชŸเชฐเชพเช‡เชเซ‡เชถเชจเชจเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช•เชฐเชคเชพ เชนเชพเชฐเซเชกเชตเซ‡เชฐ เชชเชฐ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡.
  • เชตเชฟเชจเซเชกเซ‹เช เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎ เชฎเชพเชŸเซ‡ เชธเซเชงเชพเชฐเซ‡เชฒ เชธเชชเซ‹เชฐเซเชŸ: เช†เชฐเซเชฎ64 เชธเชฟเชธเซเชŸเชฎเซเชธ เชชเชฐ เชตเชฟเชจเซเชกเซ‹เช เชฎเชพเชŸเซ‡ เชธเชคเซเชคเชพเชตเชพเชฐ เชฌเชพเชˆเชจเชฐเซ€ เชเชธเซ‡เชฎเซเชฌเชฒเซ€ เชคเซˆเชฏเชพเชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡, เชœเซ‡เชฎเชพเช‚ เช•เซเชฒเซ‡เช‚เช— เช•เชฎเซเชชเชพเชˆเชฒเชฐ, เชเชฒเชเชฒเชกเซ€ เชฒเชฟเช‚เช•เชฐ เช…เชจเซ‡ เช•เชฎเซเชชเชพเชˆเชฒเชฐ-เช†เชฐเชŸเซ€ เชฐเชจเชŸเชพเช‡เชฎ เชฒเชพเชˆเชฌเซเชฐเซ‡เชฐเซ€เช“เชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡. MinGW เชŸเชพเชฐเซเช—เซ‡เชŸ เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎเซเชธ เชฎเชพเชŸเซ‡ เชจเชฟเชฐเซเชฎเชพเชฃ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡, .exe เชชเซเชฐเชคเซเชฏเชฏ เช‰เชฎเซ‡เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชชเช›เซ€ เชญเชฒเซ‡เชจเซ‡ เช•เซเชฐเซ‹เชธ-เช•เชฎเซเชชเชพเช‡เชฒ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡.
  • OpenCL, OpenMP เช…เชจเซ‡ CUDA เชฎเชพเชŸเซ‡ เชธเชชเซ‹เชฐเซเชŸ เชธเชพเชฅเซ‡ เชธเช‚เช•เชณเชพเชฏเซ‡เชฒเซ€ เช•เซเชทเชฎเชคเชพเช“ เชตเชฟเชธเซเชคเซƒเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡. OpenCL 3.0 เช…เชจเซ‡ OpenCL 1.0 เชฎเชพเชŸเซ‡ เชฎเซ‡เช•เซเชฐเซ‹ เชตเชฟเช•เชฒเซเชชเซ‹ เชชเชธเช‚เชฆ เช•เชฐเชตเชพ "-cl-std=CL3.0" เช…เชจเซ‡ "-cl-std=CL1.0" เชตเชฟเช•เชฒเซเชชเซ‹ เช‰เชฎเซ‡เชฐเซเชฏเชพ. เชกเชพเชฏเช—เซเชจเซ‹เชธเซเชŸเชฟเช• เชธเชพเชงเชจเซ‹เชจเซ‹ เชตเชฟเชธเซเชคเชพเชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เช›เซ‡.
  • เช•เซ‡เชŸเชฒเชพเช• x86-เช†เชงเชพเชฐเชฟเชค เชชเซเชฐเซ‹เชธเซ‡เชธเชฐเซ‹เชฎเชพเช‚ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซเช•เชพเชฏเซ‡เชฒ HRESET, UINTR, เช…เชจเซ‡ AVXVNNI เชธเซ‚เชšเชจเชพเช“ เชฎเชพเชŸเซ‡ เช‰เชฎเซ‡เชฐเชพเชฏเซ‡เชฒ เช†เชงเชพเชฐ.
  • x86 เชธเชฟเชธเซเชŸเชฎเซ‹ เชชเชฐ, "-mtune=" เชตเชฟเช•เชฒเซเชช เชฎเชพเชŸเซ‡ เช†เชงเชพเชฐ เชธเช•เซเชฐเชฟเชฏ เชฅเชฏเซ‡เชฒ เช›เซ‡ ", เชœเซ‡ เชชเชธเช‚เชฆ เช•เชฐเซ‡เชฒ เชฎเชพเช‡เช•เซเชฐเซ‹เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐเชฒ เช“เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจเชจเซ‡ เชธเช•เซเชฐเชฟเชฏ เช•เชฐเซ‡ เช›เซ‡, "-march= เชจเซ€ เช•เชฟเช‚เชฎเชคเชจเซ‡ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเซ€เชงเชพ เชตเช—เชฐ. "
  • เชธเซเชฅเชฟเชฐ เชตเชฟเชถเซเชฒเซ‡เชทเช•เซ‡ เช•เซ‡เชŸเชฒเชพเช• POSIX เช•เชพเชฐเซเชฏเซ‹เชจเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชฎเชพเช‚ เชธเซเชงเชพเชฐเซ‹ เช•เชฐเซเชฏเซ‹ เช›เซ‡ เช…เชจเซ‡ เชœเซเชฏเชพเชฐเซ‡ เชธเชฐเช–เชพเชฎเชฃเซ€เชฎเชพเช‚ เช˜เชฃเชพ เชธเชพเช‚เช•เซ‡เชคเชฟเช• เชฎเซ‚เชฒเซเชฏเซ‹ เชนเซ‹เชฏ เชคเซเชฏเชพเชฐเซ‡ เชถเชฐเชคเซ€ เช•เชพเชฎเช—เซ€เชฐเซ€เชจเชพ เชชเชฐเชฟเชฃเชพเชฎเชจเชพ เชจเชฟเชฐเซเชงเชพเชฐเชฃเชฎเชพเช‚ เชจเซ‹เช‚เชงเชชเชพเชคเซเชฐ เชธเซเชงเชพเชฐเซ‹ เช•เชฐเซเชฏเซ‹ เช›เซ‡. เชจเชตเชพ เชšเซ‡เช• เช‰เชฎเซ‡เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เช›เซ‡: fuchia.HandleChecker (เชธเซเชŸเซเชฐเช•เซเชšเชฐเซเชธเชฎเชพเช‚ เชนเซ‡เชจเซเชกเชฒเซเชธ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เชฐเซ‡ เช›เซ‡), webkit.UncountedLambdaCapturesChecker เชตเซ‡เชฌเช•เชฟเชŸ เช…เชจเซ‡ alpha.webkit.UncountedLocalVarsChecker (เชตเซ‡เชฌเช•เชฟเชŸ เชเชจเซเชœเชฟเชจ เช•เซ‹เชกเชฎเชพเช‚ เชชเซ‹เช‡เชจเซเชŸเชฐ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพเชจเซ€ เชตเชฟเชถเชฟเชทเซเชŸเชคเชพเช“เชจเซ‡ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเซ‡ เช›เซ‡).
  • เชธเซเชฅเชฟเชฐเชพเช‚เช•เซ‹เชจเชพ เชธเช‚เชฆเชฐเซเชญเชฎเชพเช‚ เชตเชชเชฐเชพเชคเชพ เช…เชญเชฟเชตเซเชฏเช•เซเชคเชฟเช“เชฎเชพเช‚, เชฌเชฟเชฒเซเชŸ-เช‡เชจ เชซเช‚เช•เซเชถเชจเซเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— __builtin_bitreverse*, __builtin_rotateleft*, __builtin_rotateright*, _mm_popcnt*, _bit_scan_forward, __bsfd, __bsfq, __bit_scan_reverse, __wap__rdbs__, wap__scan wap64, เชฎเชพเชจเซเชฏ เช›เซ‡. __bswapq , _castf*, __rol* เช…เชจเซ‡ __ror*.
  • เช“เชณเช–เช•เชฐเซเชคเชพเช“, เช•เซ‰เชฒเชฎเซเชธ เช…เชจเซ‡ เชซเซ€เชฒเซเชก เชตเซเชฏเชพเช–เซเชฏเชพเช“เชจเซ€ เช†เชธเชชเชพเชธเชจเชพ เช…เช‚เชคเชฐเชจเซ‡ เชชเชธเช‚เชฆ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช•เซเชฒเซ‡เช‚เช—-เชซเซ‹เชฐเซเชฎเซ‡เชŸ เช‰เชชเชฏเซ‹เช—เชฟเชคเชพเชฎเชพเช‚ BitFieldColonSpacing เชตเชฟเช•เชฒเซเชช เช‰เชฎเซ‡เชฐเซเชฏเซ‹.
  • เชฒเชฟเชจเช•เซเชธ เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎ เชชเชฐ เช•เซเชฒเซ‡เช‚เช—เชก เช•เซ‡เชถเซ€เช‚เช— เชธเชฐเซเชตเชฐ (เช•เซเชฒเชพเช‚เช— เชธเชฐเซเชตเชฐ) เช เชฒเชพเช‚เชฌเชพ เช—เชพเชณเชพเชจเซ€ เช•เชพเชฎเช—เซ€เชฐเซ€ เชฆเชฐเชฎเชฟเชฏเชพเชจ เชฎเซ‡เชฎเชฐเซ€ เชตเชชเชฐเชพเชถเชฎเชพเช‚ เชจเซ‹เช‚เชงเชชเชพเชคเซเชฐ เช˜เชŸเชพเชกเซ‹ เช•เชฐเซเชฏเซ‹ เช›เซ‡ (เช“เชชเชฐเซ‡เชŸเชฟเช‚เช— เชธเชฟเชธเซเชŸเชฎ เชชเชฐ เชฎเชซเชค เชฎเซ‡เชฎเชฐเซ€ เชชเซƒเชทเซเช เซ‹ เชชเชฐเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ malloc_trim เชชเชฐ เชธเชพเชฎเชฏเชฟเช• เช•เซ‰เชฒเซเชธ เชชเซเชฐเชฆเชพเชจ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡).

LLVM 12.0 เชฎเชพเช‚ เชฎเซเช–เซเชฏ เชจเชตเซ€เชจเชคเชพเช“:

  • Python เชฎเชพเช‚ เชฒเช–เชพเชฏเซ‡เชฒ llvm-build เชฌเชฟเชฒเซเชก เชŸเซ‚เชฒ เชฎเชพเชŸเซ‡เชจเซ‹ เช†เชงเชพเชฐ เชฌเช‚เชง เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เช›เซ‡, เช…เชจเซ‡ เชคเซ‡เชจเชพ เชฌเชฆเชฒเซ‡ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ CMake เชฌเชฟเชฒเซเชก เชธเชฟเชธเซเชŸเชฎเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชธเซเชตเชฟเชš เชฅเชฏเซ‹ เช›เซ‡.
  • AArch64 เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐ เชฎเชพเชŸเซ‡ เชฌเซ‡เช•เชเชจเซเชกเชฎเชพเช‚, เชตเชฟเชจเซเชกเซ‹เช เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎ เชฎเชพเชŸเซ‡ เชธเชชเซ‹เชฐเซเชŸ เชฌเชนเซ‡เชคเชฐ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เช›เซ‡: เชฒเช•เซเชทเชฟเชค เชตเชฟเชจเซเชกเซ‹เช เชธเชฟเชธเซเชŸเชฎเซเชธ เชฎเชพเชŸเซ‡ เชเชธเซ‡เชฎเซเชฌเชฒเชฐ เช†เช‰เชŸเชชเซเชŸเชจเซ€ เชธเชพเชšเซ€ เชœเชจเชฐเซ‡เชถเชจ เชธเซเชจเชฟเชถเซเชšเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡, เช…เชจเชตเชพเชˆเชจเซเชก เช•เซ‰เชฒเซเชธ เชชเชฐ เชกเซ‡เชŸเชพเชจเซเช‚ เช‰เชคเซเชชเชพเชฆเชจ เช‘เชชเซเชŸเชฟเชฎเชพเช‡เช เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡ (เช†เชตเชพ เชกเซ‡เชŸเชพเชจเซเช‚ เช•เชฆ 60 เชฆเซเชตเชพเชฐเชพ เช˜เชŸเชพเชกเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡. %), เชเชธเซ‡เชฎเซเชฌเชฒเชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช…เชจเชตเชพเชˆเชจเซเชก เชกเซ‡เชŸเชพ เชฌเชจเชพเชตเชตเชพเชจเซ€ เช•เซเชทเชฎเชคเชพเชฎเชพเช‚ เชจเชฟเชฐเซเชฆเซ‡เชถเซ‹ เช‰เชฎเซ‡เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เช›เซ‡ .seh_*.
  • เชชเชพเชตเชฐเชชเซ€เชธเซ€ เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐ เชฎเชพเชŸเซ‡เชจเชพ เชฌเซ‡เช•เชเชจเซเชกเชฎเชพเช‚ เชฒเซ‚เชชเซเชธ เช…เชจเซ‡ เช‡เชจเชฒเชพเช‡เชจ เชกเชฟเชชเซเชฒเซ‹เชฏเชฎเซ‡เชจเซเชŸ เชฎเชพเชŸเซ‡ เชจเชตเชพ เช“เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจ, เชชเชพเชตเชฐ10 เชชเซเชฐเซ‹เชธเซ‡เชธเชฐเซเชธ เชฎเชพเชŸเซ‡ เชตเชฟเชธเซเชคเซƒเชค เชธเชชเซ‹เชฐเซเชŸ, เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธ เชฎเซ‡เชจเซ€เชชเซเชฏเซเชฒเซ‡เชถเชจ เชฎเชพเชŸเซ‡ MMA เชธเซ‚เชšเชจเชพเช“ เชฎเชพเชŸเซ‡ เช‰เชฎเซ‡เชฐเชพเชฏเซ‡เชฒ เชธเชชเซ‹เชฐเซเชŸ เช…เชจเซ‡ AIX เช“เชชเชฐเซ‡เชŸเชฟเช‚เช— เชธเชฟเชธเซเชŸเชฎ เชฎเชพเชŸเซ‡ เชธเซเชงเชพเชฐเซ‡เชฒ เชธเชชเซ‹เชฐเซเชŸ เช›เซ‡.
  • x86 เชฌเซ‡เช•เชเชจเซเชก 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=integerโ€) เชฎเชพเช‚ เช‰เชฎเซ‡เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เช›เซ‡ เชœเซ‡เชฅเซ€ เชฅเซ‹เชกเซ€ เชกเชพเชฌเซ€ เชฌเชพเชœเซเช เชถเชฟเชซเซเชŸ เชฅเชฏเชพ เชชเช›เซ€ เชธเชนเซ€ เชจ เช•เชฐเซ‡เชฒเชพ เชชเซ‚เชฐเซเชฃเชพเช‚เช•เซ‹เชจเชพ เช“เชตเชฐเชซเซเชฒเซ‹เชจเซ‡ เชถเซ‹เชงเซ€ เชถเช•เชพเชฏ.
  • เชตเชฟเชตเชฟเชง เชกเชฟเชŸเซ‡เช•เซเชŸเชฐเซเชธ (asan, cfi, lsan, msan, tsan, ubsan sanitizer) เชฎเชพเช‚ เชชเซเชฐเชฎเชพเชฃเชญเซ‚เชค เชฎเซเชธเชฒ เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€ เชธเชพเชฅเซ‡ Linux เชตเชฟเชคเชฐเชฃเซ‹ เชฎเชพเชŸเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช‰เชฎเซ‡เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เช›เซ‡.
  • เชเชฒเชเชฒเชกเซ€ เชฒเชฟเช‚เช•เชฐเชจเซ€ เช•เซเชทเชฎเชคเชพเช“ เชตเชฟเชธเซเชคเซƒเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡. "--เชจเชฟเชฐเซเชญเชฐเชคเชพ-เชซเชพเช‡เชฒ", "-เชเชฐเชฐ-เชนเซ‡เชจเซเชกเชฒเชฟเช‚เช—-เชธเซเช•เซเชฐเซ€เชชเซเชŸ", "-lto-เชธเซเชฏเซเชกเซ‹-เชชเซเชฐเซ‹เชฌ-เชซเซ‹เชฐ-เชชเซเชฐเซ‹เชซเชพเช‡เชฒเชฟเช‚เช—", "-เชจเซ‹-lto-เชธเช‚เชชเซ‚เชฐเซเชฃ-เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎ" เช‰เชฎเซ‡เชฐเชพเชฏเซ‡เชฒ เชตเชฟเช•เชฒเซเชชเซ‹ เชธเชนเชฟเชค ELF เชซเซ‹เชฐเซเชฎเซ‡เชŸ เชฎเชพเชŸเซ‡ เชธเซเชงเชพเชฐเซ‡เชฒ เชธเชฎเชฐเซเชฅเชจ -เชฆเซƒเชถเซเชฏเชคเชพ"" เชธเซเชงเชพเชฐเซ‡เชฒ MinGW เชธเชชเซ‹เชฐเซเชŸ. Mach-O เชซเซ‹เชฐเซเชฎเซ‡เชŸ (macOS) เชฎเชพเชŸเซ‡, arm64, arm, เช…เชจเซ‡ i386 เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐ เชฎเชพเชŸเซ‡ เชธเชชเซ‹เชฐเซเชŸ, เชฒเชฟเช‚เช•-เชŸเชพเช‡เชฎ เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจ (LTO), เช…เชจเซ‡ เช…เชชเชตเชพเชฆ เชนเซ‡เชจเซเชกเชฒเชฟเช‚เช— เชฎเชพเชŸเซ‡ เชธเซเชŸเซ‡เช• เช…เชจเชตเชพเช‡เชจเซเชกเชฟเช‚เช— เชฒเชพเช—เซ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡.
  • Libc++ C++20 เชธเซเชŸเชพเชจเซเชกเชฐเซเชกเชจเซ€ เชจเชตเซ€ เชตเชฟเชถเซ‡เชทเชคเชพเช“เชจเซ‡ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เซ‡ เช›เซ‡ เช…เชจเซ‡ C++2b เชธเซเชชเซ‡เชธเชฟเชซเชฟเช•เซ‡เชถเชจเชจเซ€ เชธเซเชตเชฟเชงเชพเช“ เชตเชฟเช•เชธเชพเชตเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซเชฏเซเช‚ เช›เซ‡. เชธเซเชฅเชพเชจเชฟเช•เซ€เช•เชฐเชฃ เชธเชชเซ‹เชฐเซเชŸ (โ€œ-DLIBCXX_ENABLE_LOCALIZATION=OFFโ€) เช…เชจเซ‡ เชธเซเชฏเซเชกเซ‹-เชฐเซ‡เชจเซเชกเชฎ เชจเช‚เชฌเชฐเซเชธ (โ€œ-DLIBCXX_ENABLE_RANDOM_DEVICE=OFFโ€) เชœเชจเชฐเซ‡เชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช‰เชชเช•เชฐเชฃเซ‹เชจเซ‡ เช…เช•เซเชทเชฎ เช•เชฐเชตเชพ เชธเชพเชฅเซ‡เชจเชพ เชจเชฟเชฐเซเชฎเชพเชฃ เชฎเชพเชŸเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช‰เชฎเซ‡เชฐเชพเชฏเซ‹.

เชธเซ‹เชฐเซเชธ: opennet.ru

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹