LLVM 15.0 เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจธเฉ‚เจŸ เจฆเฉ€ เจฐเจฟเจฒเฉ€เจœเจผ

เจ›เฉ‡ เจฎเจนเฉ€เจจเจฟเจ†เจ‚ เจฆเฉ‡ เจตเจฟเจ•เจพเจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, LLVM 15.0 เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฆเฉ€ เจฐเจฟเจฒเฉ€เจœเจผ เจชเฉ‡เจธเจผ เจ•เฉ€เจคเฉ€ เจ—เจˆ - เจ‡เฉฑเจ• GCC- เจ…เจจเฉเจ•เฉ‚เจฒ เจŸเฉ‚เจฒเจ•เจฟเฉฑเจŸ (เจ•เฉฐเจชเจพเจˆเจฒเจฐ, เจ†เจชเจŸเฉ€เจฎเจพเจˆเจœเจผเจฐ เจ…เจคเฉ‡ เจ•เฉ‹เจก เจœเจจเจฐเฉ‡เจŸเจฐ) เจœเฉ‹ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจพเจ‚ เจจเฉ‚เฉฐ RISC-เจตเจฐเจ—เฉ‡ เจตเจฐเจšเฉเจ…เจฒ เจจเจฟเจฐเจฆเฉ‡เจธเจผเจพเจ‚ เจฆเฉ‡ เจตเจฟเจšเจ•เจพเจฐเจฒเฉ‡ เจฌเจฟเจŸเจ•เฉ‹เจก เจตเจฟเฉฑเจš เจ•เฉฐเจชเจพเจ‡เจฒ เจ•เจฐเจฆเฉ€ เจนเฉˆ (เจ‡เฉฑเจ• เจ˜เฉฑเจŸ-เจชเฉฑเจงเจฐเฉ€ เจตเจฐเจšเฉเจ…เจฒ เจฎเจธเจผเฉ€เจจ เจฎเจฒเจŸเฉ€-เจฒเฉˆเจตเจฒ เจ“เจชเจŸเฉ€เจฎเจพเจˆเจœเฉ‡เจธเจผเจจ เจธเจฟเจธเจŸเจฎ)เฅค เจคเจฟเจ†เจฐ เจ•เฉ€เจคเฉ‡ เจ—เจ เจธเฉ‚เจกเฉ‹เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจ‡เฉฑเจ• JIT เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจชเฉเจฐเฉ‹เจ—เฉเจฐเจพเจฎ เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจธเจผเจจ เจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจธเจฟเฉฑเจงเฉ‡ เจฎเจธเจผเฉ€เจจ เจจเจฟเจฐเจฆเฉ‡เจธเจผเจพเจ‚ เจตเจฟเฉฑเจš เจฌเจฆเจฒเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค

เจ•เจฒเฉˆเจ‚เจ— 15.0 เจตเจฟเฉฑเจš เจฎเฉเฉฑเจ– เจธเฉเจงเจพเจฐ:

  • x86 เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ 'เจคเฉ‡ เจ…เจงเจพเจฐเจค เจธเจฟเจธเจŸเจฎเจพเจ‚ เจฒเจˆ, "-fzero-call-used-regs" เจซเจฒเฉˆเจ— เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† เจนเฉˆ, เจœเฉ‹ เจ‡เจน เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ เจ•เจฟ เจซเฉฐเจ•เจธเจผเจจ เจตเจฟเฉฑเจš เจตเจฐเจคเฉ‡ เจ—เจ เจธเจพเจฐเฉ‡ CPU เจฐเจœเจฟเจธเจŸเจฐ เจซเฉฐเจ•เจธเจผเจจ เจคเฉ‹เจ‚ เจจเจฟเจฏเฉฐเจคเจฐเจฃ เจตเจพเจชเจธ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจœเจผเฉ€เจฐเฉ‹ 'เจคเฉ‡ เจฐเฉ€เจธเฉˆเจŸ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจเฅค เจ‡เจน เจตเจฟเจ•เจฒเจช เจคเฉเจนเจพเจจเฉ‚เฉฐ เจซเฉฐเจ•เจธเจผเจจเจพเจ‚ เจคเฉ‹เจ‚ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจฒเฉ€เจ• เจนเฉ‹เจฃ เจคเฉ‹เจ‚ เจฌเจšเจพเจ‰เจฃ เจ…เจคเฉ‡ เจธเจผเฉ‹เจธเจผเจฃ เจตเจฟเฉฑเจš ROP (เจฐเจฟเจŸเจฐเจจ-เจ“เจฐเฉ€เจเจ‚เจŸเจก เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ—) เจฏเฉฐเจคเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจขเฉเจ•เจตเฉ‡เจ‚ เจฌเจฒเจพเจ•เจพเจ‚ เจฆเฉ€ เจ—เจฟเจฃเจคเฉ€ เจจเฉ‚เฉฐ เจฒเจ—เจญเจ— 20% เจ˜เจŸเจพเจ‰เจฃ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค
  • C เจ•เฉ‹เจก เจฒเจˆ เจขเจพเจ‚เจšเจฟเจ†เจ‚ เจฆเฉ€ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจชเจฒเฉ‡เจธเจฎเฉˆเจ‚เจŸ เจฆเฉ€ เจฐเฉˆเจ‚เจกเจฎเจพเจˆเจœเจผเฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจœเฉ‹ เจ•เจฟ เจ•เจฎเจœเจผเฉ‹เจฐเฉ€เจ†เจ‚ เจฆเฉ‡ เจธเจผเฉ‹เจธเจผเจฃ เจฆเฉ€ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš เจขเจพเจ‚เจšเจฟเจ†เจ‚ เจคเฉ‹เจ‚ เจกเจพเจŸเจพ เจ•เฉฑเจขเจฃ เจจเฉ‚เฉฐ เจ—เฉเฉฐเจเจฒเจฆเจพเจฐ เจฌเจฃเจพเจ‰เจ‚เจฆเจพ เจนเฉˆเฅค randomize_layout เจ…เจคเฉ‡ no_randomize_layout เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจฐเฉˆเจ‚เจกเจฎเจพเจˆเจœเจผเฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจšเจพเจฒเฉ‚ เจ…เจคเฉ‡ เจฌเฉฐเจฆ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ "-frandomize-layout-seed" เจœเจพเจ‚ "-frandomize-layout-seed-file" เจซเจฒเฉˆเจ— เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจ‡เฉฑเจ• เจฌเฉ€เจœ เจธเฉˆเฉฑเจŸ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค
  • "-fstrict-flex-arrays=" เจซเจฒเฉˆเจ— เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเจพ เจ—เจฟเจ†, เจœเจฟเจธ เจจเจพเจฒ เจคเฉเจธเฉ€เจ‚ เจขเจพเจ‚เจšเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจฒเจšเจ•เจฆเจพเจฐ เจเจฐเฉ‡ เจเจฒเฉ€เจฎเฉˆเจ‚เจŸ เจฒเจˆ เจธเฉ€เจฎเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจจเจฟเจฏเฉฐเจคเจฐเจฟเจค เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ (เจฒเจšเจ•เจฆเจพเจฐ เจเจฐเฉ‡ เจฎเฉˆเจ‚เจฌเจฐ, เจขเจพเจ‚เจšเฉ‡ เจฆเฉ‡ เจ…เฉฐเจค เจตเจฟเฉฑเจš เจ…เจฃเจฎเจฟเฉฑเจฅเฉ‡ เจ†เจ•เจพเจฐ เจฆเฉ€ เจ‡เฉฑเจ• เจเจฐเฉ‡)เฅค เจœเจฆเฉ‹เจ‚ 0 (เจกเจฟเจซเฉŒเจฒเจŸ) 'เจคเฉ‡ เจธเฉˆเฉฑเจŸ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจ•เจฟเจธเฉ‡ เจเจฐเฉ‡ เจตเจพเจฒเฉ‡ เจขเจพเจ‚เจšเฉ‡ เจฆเฉ‡ เจ†เจ–เจฐเฉ€ เจคเฉฑเจค เจจเฉ‚เฉฐ เจนเจฎเฉ‡เจธเจผเจพ เจฒเจšเจ•เจฆเจพเจฐ เจเจฐเฉ‡ เจตเจœเฉ‹เจ‚ เจธเฉฐเจธเจพเจงเจฟเจค เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, 1 - เจธเจฟเจฐเจซเจผ เจ†เจ•เจพเจฐ [], [0] เจ…เจคเฉ‡ [1] เจจเฉ‚เฉฐ เจฒเจšเจ•เจฆเจพเจฐ เจเจฐเฉ‡ เจตเจœเฉ‹เจ‚ เจชเฉเจฐเฉ‹เจธเฉˆเจธ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, 2 - เจธเจฟเจฐเจซเจผ เจ†เจ•เจพเจฐเฅค [] เจ…เจคเฉ‡ [0] เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจฒเจšเจ•เจฆเจพเจฐ เจเจฐเฉ‡ เจตเจพเจ‚เจ— เจธเฉฐเจธเจพเจงเจฟเจค เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค
  • C- เจตเจฐเจ—เฉ€ เจญเจพเจธเจผเจพ HLSL (เจนเจพเจˆ-เจฒเฉˆเจตเจฒ เจธเจผเฉˆเจกเจฐ เจฒเฉˆเจ‚เจ—เฉ‚เจเจœ) เจฒเจˆ เจชเฉเจฐเจฏเฉ‹เจ—เจพเจคเจฎเจ• เจธเจนเจพเจ‡เจคเจพ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ€ เจ—เจˆ, เจœเฉ‹ เจ•เจฟ เจธเจผเฉˆเจกเจฐ เจฒเจฟเจ–เจฃ เจฒเจˆ เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจเจ•เจธ เจตเจฟเฉฑเจš เจตเจฐเจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆเฅค
  • เจธเจฅเจฟเจฐ- เจ…เจคเฉ‡ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ-เจฒเฉฐเจฌเจพเจˆ เจเจฐเฉ‡ เจจเจพเจฒ เจธเฉฐเจฌเฉฐเจงเจฟเจค เจ…เจธเฉฐเจ—เจค เจ†เจฐเจ—เฉ‚เจฎเฉˆเจ‚เจŸ เจ˜เฉ‹เจธเจผเจฃเจพเจตเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจ“เจตเจฐเจฐเจพเจˆเจกเจฟเฉฐเจ— เจซเฉฐเจ•เจธเจผเจจเจพเจ‚ เจฌเจพเจฐเฉ‡ เจšเฉ‡เจคเจพเจตเจจเฉ€ เจฆเฉ‡เจฃ เจฒเจˆ "-Warray-เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ" เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเจพ เจ—เจฟเจ†เฅค
  • MSVC เจจเจพเจฒ เจฌเจฟเจนเจคเจฐ เจ…เจจเฉเจ•เฉ‚เจฒเจคเจพเฅค MSVC เจตเจฟเฉฑเจš เจชเฉเจฐเจฆเจพเจจ เจ•เฉ€เจคเฉ‡ "#pragma เจซเฉฐเจ•เจธเจผเจจ" (เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจจเฉ‚เฉฐ เจ‡เจจเจฒเจพเจˆเจจ เจตเจฟเจธเจคเจพเจฐ เจฆเฉ€ เจฌเจœเจพเจ เจ‡เฉฑเจ• เจซเฉฐเจ•เจธเจผเจจ เจ•เจพเจฒ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจจเจฟเจฐเจฆเฉ‡เจธเจผ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ) เจ…เจคเฉ‡ "#pragma alloc_text" (เจซเฉฐเจ•เจธเจผเจจ เจ•เฉ‹เจก เจฆเฉ‡ เจจเจพเจฒ เจญเจพเจ— เจฆเจพ เจจเจพเจฎ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆ) เจฒเจˆ เจธเจฎเจฐเจฅเจจ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค MSVC-เจ…เจจเฉเจ•เฉ‚เจฒ /JMC เจ…เจคเฉ‡ /JMC เจซเจฒเฉˆเจ— เจฒเจˆ เจธเจฎเจฐเจฅเจจ เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ†เฅค
  • เจญเจตเจฟเฉฑเจ– เจฆเฉ‡ C2X เจ…เจคเฉ‡ C++23 เจฎเจฟเจ†เจฐเจพเจ‚ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจ•เจฐเจจ เจฒเจˆ เจ•เฉฐเจฎ เจœเจพเจฐเฉ€ เจนเฉˆเฅค C เจญเจพเจธเจผเจพ เจฒเจˆ, เจจเจฟเจฎเจจเจฒเจฟเจ–เจค เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจ: noreturn เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพ, เจ•เฉ€เจตเจฐเจก เจ—เจฒเจค เจ…เจคเฉ‡ เจธเจนเฉ€, เจฆเจฟเฉฑเจคเฉ‡ เจฌเจฟเฉฑเจŸ เจกเฉ‚เฉฐเจ˜เจพเจˆ เจฆเฉ‡ เจชเฉ‚เจฐเจจ เจ…เฉฐเจ•เจพเจ‚ เจฒเจˆ _BitInt(N) เจ•เจฟเจธเจฎ, *_WIDTH เจฎเฉˆเจ•เจฐเฉ‹เจœเจผ, UTF-8 เจเจจเจ•เฉ‹เจก เจ•เฉ€เจคเฉ‡ เจ…เฉฑเจ–เจฐเจพเจ‚ เจฒเจˆ u8 เจ…เจ—เฉ‡เจคเจฐเฅค

    C++ เจฒเจˆ, เจนเฉ‡เจ  เจฒเจฟเจ–เฉ‡ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจ: เจฎเฉ‹เจกเฉ€เจŠเจฒ เจตเจฟเจฒเฉ€เจจเจคเจพ, เจซเฉฐเจ•เจธเจผเจจ เจฎเฉˆเจ‚เจฌเจฐเจพเจ‚ เจฆเจพ ABI เจ…เจฒเฉฑเจ—-เจฅเจฒเฉฑเจ—, เจฎเฉ‹เจกเฉ€เจŠเจฒ เจตเจฟเฉฑเจš เจ—เฉˆเจฐ-เจธเจฅเจพเจจเจ• เจตเฉ‡เจฐเฉ€เจเจฌเจฒเจพเจ‚ เจฆเฉ€ เจ—เจคเฉ€เจธเจผเฉ€เจฒ เจธเจผเฉเจฐเฉ‚เจ†เจค, เจฌเจนเฉ-เจ†เจฏเจพเจฎเฉ€ เจธเฉ‚เจšเจ•เจพเจ‚เจ• เจ†เจชเจฐเฉ‡เจŸเจฐ, เจ†เจŸเฉ‹(x), เจ—เฉˆเจฐ-เจธเจผเจพเจฌเจฆเจฟเจ• เจตเฉ‡เจฐเฉ€เจเจฌเจฒ, เจ—เฉ‹เจŸเฉ‹ เจ…เจคเฉ‡ เจฒเฉ‡เจฌเจฒเจพเจ‚ เจจเฉ‚เฉฐ constexpr เจตเจœเฉ‹เจ‚ เจ˜เฉ‹เจธเจผเจฟเจค เจซเฉฐเจ•เจธเจผเจจเจพเจ‚ เจตเจฟเฉฑเจš , เจธเฉ€เจฎเจฟเจค เจฌเจšเจฃ เจฆเฉ‡ เจ•เฉเจฐเจฎ, เจจเจพเจฎ เจฌเจšเจฃ เจตเจพเจฒเฉ‡ เจ…เฉฑเจ–เจฐเฅค

  • OpenCL เจ…เจคเฉ‡ OpenMP เจธเจนเจฟเจฏเฉ‹เจ— เจจเจพเจฒ เจœเฉเฉœเฉ€เจ†เจ‚ เจธเจฎเจฐเฉฑเจฅเจพเจตเจพเจ‚ เจฆเจพ เจตเจฟเจธเจคเจพเจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค OpenCL เจเจ•เจธเจŸเฉˆเจ‚เจธเจผเจจ cl_khr_subgroup_rotate เจฒเจˆ เจธเจฎเจฐเจฅเจจ เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ†เฅค
  • x86 เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ เจฒเจˆ, เจฌเจฟเจจเจพเจ‚ เจธเจผเจฐเจค เจซเจพเจฐเจตเจฐเจก เจœเฉฐเจช เจ“เจชเจฐเฉ‡เจธเจผเจจเจพเจ‚ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจจเจฟเจฐเจฆเฉ‡เจธเจผเจพเจ‚ เจฆเฉ‡ เจ…เฉฐเจฆเจพเจœเจผเฉ‡ เจจเจพเจฒ เจšเฉฑเจฒเจฃ เจ•เจพเจฐเจจ เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฐเจพเจ‚ เจตเจฟเฉฑเจš เจ•เจฎเจœเจผเฉ‹เจฐเฉ€เจ†เจ‚ เจฆเฉ‡ เจตเจฟเจฐเฉเฉฑเจง เจธเฉเจฐเฉฑเจ–เจฟเจ† เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆเฅค เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจตเจฟเฉฑเจš เจฌเฉเจฐเจพเจ‚เจš เจจเจฟเจฐเจฆเฉ‡เจธเจผเจพเจ‚ (SLS, เจธเจŸเฉเจฐเฉ‡เจŸ เจฒเจพเจˆเจจ เจธเจชเฉ‡เจ•เฉเจฒเฉ‡เจธเจผเจจ) เจคเฉ‹เจ‚ เจคเฉเจฐเฉฐเจค เจฌเจพเจ…เจฆ เจจเจฟเจฐเจฆเฉ‡เจธเจผเจพเจ‚ เจฆเฉ€ เจชเฉเจฐเฉ€-เจเจ‚เจชเจŸเจฟเจต เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฟเฉฐเจ— เจ•เจพเจฐเจจ เจธเจฎเฉฑเจธเจฟเจ† เจ†เจ‰เจ‚เจฆเฉ€ เจนเฉˆเฅค เจธเฉเจฐเฉฑเจ–เจฟเจ† เจจเฉ‚เฉฐ เจธเจฎเจฐเฉฑเจฅ เจ•เจฐเจจ เจฒเจˆ, เจตเจฟเจ•เจฒเจช โ€œ-mharden-sls=[none|all|return|indirect-jmp]โ€ เจชเฉเจฐเจธเจคเจพเจตเจฟเจค เจนเฉˆเฅค
  • เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎเจพเจ‚ เจฒเจˆ เจœเฉ‹ SSE2 เจเจ•เจธเจŸเฉˆเจ‚เจธเจผเจจ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจ•เจฐเจฆเฉ‡ เจนเจจ, _Float16 เจ•เจฟเจธเจฎ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† เจนเฉˆ, เจœเฉ‹ เจ•เจฟ AVX512-FP16 เจจเจฟเจฐเจฆเฉ‡เจธเจผเจพเจ‚ เจฒเจˆ เจธเจฎเจฐเจฅเจจ เจฆเฉ€ เจ˜เจพเจŸ เจฆเฉ‡ เจฎเจพเจฎเจฒเฉ‡ เจตเจฟเฉฑเจš เจซเจฒเฉ‹เจŸ เจ•เจฟเจธเจฎ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจ‡เจฎเฉ‚เจฒเฉ‡เจŸ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค
  • RDPRU เจนเจฆเจพเจ‡เจค เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจจเฉ‚เฉฐ เจจเจฟเจฏเฉฐเจคเจฐเจฟเจค เจ•เจฐเจจ เจฒเจˆ "-m[no-]rdpru" เจซเจฒเฉˆเจ— เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเจพ เจ—เจฟเจ†, AMD Zen2 เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฐเจพเจ‚ เจจเจพเจฒ เจธเจผเฉเจฐเฉ‚ เจนเฉ‹เจฃ เจฒเจˆ เจธเจฎเจฐเจฅเจฟเจคเฅค
  • RETBLEED เจ•เจฎเจœเจผเฉ‹เจฐเฉ€ เจคเฉ‹เจ‚ เจฌเจšเจพเจ‰เจฃ เจฒเจˆ "-mfunction-return=thunk-extern" เจซเจฒเฉˆเจ— เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† เจนเฉˆ, เจœเฉ‹ เจจเจฟเจฐเจฆเฉ‡เจธเจผเจพเจ‚ เจฆเจพ เจ‡เฉฑเจ• เจ•เฉเจฐเจฎ เจœเฉ‹เฉœ เจ•เฉ‡ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ เจœเฉ‹ เจ…เจธเจฟเฉฑเจงเฉ‡ เจธเจผเจพเจ–เจพเจตเจพเจ‚ เจฒเจˆ เจธเฉฑเจŸเฉ‡เจฌเจพเจœเฉ€ เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจธเจผเจจ เจตเจฟเจงเฉ€ เจฆเฉ€ เจธเจผเจฎเฉ‚เจฒเฉ€เจ…เจค เจจเฉ‚เฉฐ เจฌเจพเจนเจฐ เจฐเฉฑเจ–เจฆเจพ เจนเฉˆเฅค

LLVM 15.0 เจตเจฟเฉฑเจš เจฎเฉเฉฑเจ– เจ•เจพเจขเจพเจ‚:

  • Cortex-M85 CPU, Armv9-A, Armv9.1-A เจ…เจคเฉ‡ Armv9.2-A เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ, Armv8.1-M PACBTI-M เจเจ•เจธเจŸเฉˆเจ‚เจธเจผเจจเจพเจ‚ เจฒเจˆ เจธเจฎเจฐเจฅเจจ เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ†เฅค
  • DirectX เจฒเจˆ เจ‡เฉฑเจ• เจชเฉเจฐเจฏเฉ‹เจ—เจพเจคเจฎเจ• เจฌเฉˆเจ•เจเจ‚เจก เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† เจนเฉˆ เจœเฉ‹ DirectX เจธเจผเฉ‡เจกเจฐเจพเจ‚ เจฒเจˆ เจตเจฐเจคเฉ‡ เจœเจพเจฃ เจตเจพเจฒเฉ‡ DXIL (DirectX เจ‡เฉฐเจŸเจฐเจฎเฉ€เจกเฉ€เจเจŸ เจฒเฉˆเจ‚เจ—เฉ‚เจเจœ) เจซเจพเจฐเจฎเฉˆเจŸ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจฌเฉˆเจ•เจเจ‚เจก เจ…เจธเฉˆเจ‚เจฌเจฒเฉ€ เจฆเฉ‡ เจฆเฉŒเจฐเจพเจจ โ€œ-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=DirectXโ€ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจฟเจค เจ•เจฐเจ•เฉ‡ เจธเจฎเจฐเฉฑเจฅ เจฌเจฃเจพเจ‡เจ† เจ—เจฟเจ† เจนเฉˆเฅค
  • Libc++ C++20 เจ…เจคเฉ‡ C++2b เจฎเจฟเจ†เจฐเจพเจ‚ เจฆเฉ€เจ†เจ‚ เจจเจตเฉ€เจ†เจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจเจพ เจœเจพเจฐเฉ€ เจฐเฉฑเจ–เจฆเจพ เจนเฉˆ, เจœเจฟเจธ เจตเจฟเฉฑเจš โ€œเจซเจพเจฐเจฎเฉˆเจŸโ€ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจเจพ เจ…เจคเฉ‡ โ€œเจฐเฉ‡เจ‚เจœโ€ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจฆเจพ เจชเฉเจฐเจธเจคเจพเจตเจฟเจค เจชเฉเจฐเจฏเฉ‹เจ—เจพเจคเจฎเจ• เจธเฉฐเจธเจ•เจฐเจฃ เจธเจผเจพเจฎเจฒ เจนเฉˆเฅค
  • x86, PowerPC เจ…เจคเฉ‡ RISC-V เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ เจฒเจˆ เจฌเจฟเจนเจคเจฐ เจฌเฉˆเจ•เจเจ‚เจกเฅค
  • LLD เจฒเจฟเฉฐเจ•เจฐ เจ…เจคเฉ‡ LLDB เจกเฉ€เจฌเฉฑเจ—เจฐ เจฆเฉ€เจ†เจ‚ เจธเจฎเจฐเฉฑเจฅเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจตเจงเจพเจ‡เจ† เจ—เจฟเจ† เจนเฉˆเฅค

เจธเจฐเฉ‹เจค: opennet.ru

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹