LLVM 15.0 ವಿವಿಧ ಬ್ಯಾಕೆಂಡ್‌ಗಳು, ಹೆಚ್ಚಿನ ಬೆಂಬಲ ಮತ್ತು ಹೆಚ್ಚಿನವುಗಳಿಗೆ ಸುಧಾರಣೆಗಳೊಂದಿಗೆ ಆಗಮಿಸುತ್ತದೆ

LLVM 15 ಬೆಂಬಲ ಸುಧಾರಣೆಗಳನ್ನು ಅಳವಡಿಸುತ್ತದೆ

LLVM 15.0 C/C++ ಗೆ ಹಲವಾರು ಆಸಕ್ತಿದಾಯಕ ನವೀಕರಣಗಳನ್ನು ಸಹ ಒಳಗೊಂಡಿದೆ.

ಆರು ತಿಂಗಳ ಅಭಿವೃದ್ಧಿಯ ನಂತರ, LLVM 15.0 ಪ್ರಾಜೆಕ್ಟ್ ಬಿಡುಗಡೆಯನ್ನು ಘೋಷಿಸಲಾಗಿದೆ, ಯಾವುದರಲ್ಲಿ ಬಹಳಷ್ಟು ಪ್ರಮುಖ ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡಲಾಗಿದೆ, ಜೊತೆಗೆ ಹೊಸ ಪ್ರೊಸೆಸರ್‌ಗಳು, ಆರ್ಕಿಟೆಕ್ಚರ್‌ಗಳು ಮತ್ತು ಹೆಚ್ಚಿನವುಗಳಿಗೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ.

LLVM ಬಗ್ಗೆ ಪರಿಚಯವಿಲ್ಲದವರಿಗೆ, ನೀವು ಇದನ್ನು ತಿಳಿದಿರಬೇಕು GCC ಹೊಂದಾಣಿಕೆಯ ಕಂಪೈಲರ್ ಆಗಿದೆ (ಕಂಪೈಲರ್‌ಗಳು, ಆಪ್ಟಿಮೈಜರ್‌ಗಳು ಮತ್ತು ಕೋಡ್ ಜನರೇಟರ್‌ಗಳು) ಪ್ರೋಗ್ರಾಂಗಳನ್ನು RISC-ತರಹದ ವರ್ಚುವಲ್ ಸೂಚನಾ ಮಧ್ಯಂತರ ಬಿಟ್‌ಕೋಡ್‌ಗೆ ಕಂಪೈಲ್ ಮಾಡುತ್ತದೆ (ಬಹುಮಟ್ಟದ ಆಪ್ಟಿಮೈಸೇಶನ್ ಸಿಸ್ಟಮ್‌ನೊಂದಿಗೆ ಕಡಿಮೆ-ಮಟ್ಟದ ವರ್ಚುವಲ್ ಯಂತ್ರ).

ರಚಿಸಲಾದ ಸೂಡೊಕೋಡ್ ಅನ್ನು JIT ಕಂಪೈಲರ್ ಮೂಲಕ ಪ್ರೋಗ್ರಾಂ ಎಕ್ಸಿಕ್ಯೂಶನ್ ಸಮಯದಲ್ಲಿ ಯಂತ್ರ ಸೂಚನೆಗಳಾಗಿ ಪರಿವರ್ತಿಸಬಹುದು.

ಎಲ್ಎಲ್ವಿಎಂ 15.0 ನ ಪ್ರಮುಖ ಹೊಸ ವೈಶಿಷ್ಟ್ಯಗಳು

ಪ್ರಸ್ತುತಪಡಿಸಲಾದ ಈ ಹೊಸ ಆವೃತ್ತಿಯಲ್ಲಿ, ದಿ Cortex-M85 ಪ್ರೊಸೆಸರ್‌ಗಳಿಗೆ ಬೆಂಬಲ, ಹಾಗೆಯೇ Armv9-A, Armv9.1-A ಮತ್ತು Armv9.2-A ಆರ್ಕಿಟೆಕ್ಚರ್‌ಗಳಿಗಾಗಿ, Armv8.1-M PACBTI-M ವಿಸ್ತರಣೆಗಳು.

ಎದ್ದು ಕಾಣುವ ಮತ್ತೊಂದು ಬದಲಾವಣೆ ಅದು ಪ್ರಾಯೋಗಿಕ ಡೈರೆಕ್ಟ್ಎಕ್ಸ್ ಬ್ಯಾಕೆಂಡ್ ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ ಕ್ಯು DXIL ಸ್ವರೂಪವನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ (ಡೈರೆಕ್ಟ್ಎಕ್ಸ್ ಇಂಟರ್ಮೀಡಿಯೇಟ್ ಲಾಂಗ್ವೇಜ್) ಡೈರೆಕ್ಟ್ಎಕ್ಸ್ ಶೇಡರ್ಗಳಿಗಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ. ಬ್ಯಾಕೆಂಡ್ ಅನ್ನು "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=DirectX" ಬಿಲ್ಡ್ ಆಯ್ಕೆಯ ಮೂಲಕ ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ.

libc++ ಹೊಸ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವುದನ್ನು ಮುಂದುವರೆಸಿದೆ "ಫಾರ್ಮ್ಯಾಟ್" ಲೈಬ್ರರಿ ಅನುಷ್ಠಾನದ ಪೂರ್ಣಗೊಳಿಸುವಿಕೆ ಮತ್ತು "ರೇಂಜ್" ಲೈಬ್ರರಿಯ ಪ್ರಸ್ತಾವಿತ ಪ್ರಾಯೋಗಿಕ ಆವೃತ್ತಿಯನ್ನು ಒಳಗೊಂಡಂತೆ C++20 ಮತ್ತು C++2b ಮಾನದಂಡಗಳು.

ಕ್ಲಾಂಗ್ 15.0 ಗೆ ಸಂಬಂಧಿಸಿದ ಬದಲಾವಣೆಗಳ ಭಾಗವಾಗಿ ಇದನ್ನು ಉಲ್ಲೇಖಿಸಲಾಗಿದೆ C-ರೀತಿಯ ಭಾಷೆ HLSL ಗೆ ಪ್ರಾಯೋಗಿಕ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ (ಹೈ-ಲೆವೆಲ್ ಶೇಡಿಂಗ್ ಲಾಂಗ್ವೇಜ್), ಇದನ್ನು ಡೈರೆಕ್ಟ್‌ಎಕ್ಸ್ 9 ರಿಂದ ಪ್ರಾರಂಭವಾಗುವ ಶೇಡರ್‌ಗಳನ್ನು ಬರೆಯಲು ಬಳಸಲಾಗುತ್ತದೆ, ಜೊತೆಗೆ ಎಚ್‌ಎಲ್‌ಎಸ್‌ಎಲ್ ಶೇಡರ್‌ಗಳನ್ನು ಡೈರೆಕ್ಟ್‌ಎಕ್ಸ್ 12-ಹೊಂದಾಣಿಕೆಯ ಡಿಎಕ್ಸ್‌ಐಎಲ್ (ಡೈರೆಕ್ಟ್‌ಎಕ್ಸ್ ಇಂಟರ್ಮೀಡಿಯೇಟ್ ಲಾಂಗ್ವೇಜ್) ಬೈನರಿ ಫಾರ್ಮ್ಯಾಟ್‌ಗೆ ಭಾಷಾಂತರಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ, ಹಾಗೆಯೇ ವಲ್ಕನ್ ಬಳಸುವ SPIR ಫಾರ್ಮ್ಯಾಟ್ -V. ಭವಿಷ್ಯದಲ್ಲಿ, DXBC ಫಾರ್ಮ್ಯಾಟ್‌ಗೆ ಬೆಂಬಲವನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಯೋಜಿಸಲಾಗಿದೆ (ಡೈರೆಕ್ಟ್‌ಎಕ್ಸ್ ಬೈಟ್‌ಕೋಡ್) ಡೈರೆಕ್ಟ್‌ಎಕ್ಸ್ 9-11 ರಲ್ಲಿ ಬಳಸಲಾಗಿದೆ. ಅನುಷ್ಠಾನವನ್ನು ಮೈಕ್ರೋಸಾಫ್ಟ್ ಒದಗಿಸಿದೆ ಮತ್ತು 2017 ರಲ್ಲಿ ಬಿಡುಗಡೆಯಾದ ಡೈರೆಕ್ಟ್ಎಕ್ಸ್ ಶೇಡರ್ ಕಂಪೈಲರ್ ಅನ್ನು ಆಧರಿಸಿದೆ, ಇದನ್ನು LLVM 3.7 ಆಧಾರದ ಮೇಲೆ ನಿರ್ಮಿಸಲಾಗಿದೆ.

ಜೊತೆಗೆ ಮುಂದುವರೆಯುತ್ತದೆ ಎಂದೂ ಉಲ್ಲೇಖಿಸಲಾಗಿದೆ ಭವಿಷ್ಯದ C2X ಮತ್ತು C++23 ಮಾನದಂಡಗಳನ್ನು ಬೆಂಬಲಿಸಲು ಕೆಲಸ ಮಾಡಿ. ಸಿ ಭಾಷೆಗೆ ಅಳವಡಿಸಲಾಗಿದೆ: ನಾರ್ಟರ್ನ್ ಗುಣಲಕ್ಷಣ, ತಪ್ಪು ಮತ್ತು ನಿಜವಾದ ಕೀವರ್ಡ್‌ಗಳು, ನಿರ್ದಿಷ್ಟ ಬಿಟ್ ಆಳದ ಪೂರ್ಣಾಂಕಗಳಿಗಾಗಿ _BitInt(N) ಪ್ರಕಾರ, *_WIDTH ಮ್ಯಾಕ್ರೋಗಳು, UTF-8 ಅಕ್ಷರಗಳಿಗೆ u8 ಪೂರ್ವಪ್ರತ್ಯಯ.

ಇದರ ಜೊತೆಗೆ, C++ ಗಾಗಿ ಅಳವಡಿಸಲಾಗಿದೆ: ಮಾಡ್ಯೂಲ್ ವಿಲೀನ, ಕಾರ್ಯ ಸದಸ್ಯರ ABI ಪ್ರತ್ಯೇಕತೆ, ಮಾಡ್ಯೂಲ್‌ನಲ್ಲಿ ಸ್ಥಳೀಯವಲ್ಲದ ವೇರಿಯಬಲ್‌ಗಳ ಡೈನಾಮಿಕ್ ಇನಿಶಿಯಲೈಸೇಶನ್ ಆದೇಶ, ಬಹು ಆಯಾಮದ ಸೂಚ್ಯಂಕ ನಿರ್ವಾಹಕರು, auto(x), ನಾನ್-ಲಿಟರಲ್ ವೇರಿಯೇಬಲ್‌ಗಳು, ಕಾನ್‌ಸ್ಟೆಕ್ಸ್‌ಪಿಆರ್ ಎಂದು ಘೋಷಿಸಲಾದ ಫಂಕ್ಷನ್‌ಗಳಲ್ಲಿ ಗೊಟೊ ಮತ್ತು ಲೇಬಲ್‌ಗಳು, ಡಿಲಿಮಿಟೆಡ್ ಎಸ್ಕೇಪ್ ಸೀಕ್ವೆನ್ಸ್‌ಗಳು, ಎಸ್ಕೇಪ್ ಕ್ಯಾರೆಕ್ಟರ್‌ಗಳು ಎಂದು ಹೆಸರಿಸಲಾಗಿದೆ.

ವಾಸ್ತುಶಿಲ್ಪವನ್ನು ಆಧರಿಸಿದ ವ್ಯವಸ್ಥೆಗಳಿಗೆ x86, "-fzero-call-used-regs" ಫ್ಲ್ಯಾಗ್ ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ, ಇದು ಕಾರ್ಯದಿಂದ ನಿಯಂತ್ರಣವನ್ನು ಹಿಂದಿರುಗಿಸುವ ಮೊದಲು ಕಾರ್ಯದಲ್ಲಿ ಬಳಸಲಾದ ಎಲ್ಲಾ CPU ರೆಜಿಸ್ಟರ್‌ಗಳ ಶೂನ್ಯವನ್ನು ಒದಗಿಸುತ್ತದೆ. ಈ ಆಯ್ಕೆಯನ್ನು ಡೇಟಾ ಸೋರಿಕೆಯಿಂದ ರಕ್ಷಿಸುತ್ತದೆ ಕಾರ್ಯಗಳ ಮತ್ತು ಬಳಕೆಯಲ್ಲಿ ROP (ರಿಟರ್ನ್ ಓರಿಯೆಂಟೆಡ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್) ಸಾಧನಗಳನ್ನು ರಚಿಸಲು ಸೂಕ್ತವಾದ ಬ್ಲಾಕ್‌ಗಳ ಸಂಖ್ಯೆಯನ್ನು ಸುಮಾರು 20% ರಷ್ಟು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ.

ಮೆಮೊರಿ ಸ್ಥಳ ಯಾದೃಚ್ಛಿಕಗೊಳಿಸುವಿಕೆಯನ್ನು ಅಳವಡಿಸಲಾಗಿದೆ ಸಿ ಕೋಡ್‌ಗಾಗಿ ರಚನೆಗಳು, ಇದು ದುರ್ಬಲತೆಗಳ ಶೋಷಣೆಯ ಸಂದರ್ಭದಲ್ಲಿ ರಚನೆಗಳಿಂದ ಡೇಟಾವನ್ನು ಹೊರತೆಗೆಯುವುದನ್ನು ಸಂಕೀರ್ಣಗೊಳಿಸುತ್ತದೆ. ಯಾದೃಚ್ಛಿಕಗೊಳಿಸುವಿಕೆಯನ್ನು randomize_layout ಮತ್ತು no_randomize_layout ಗುಣಲಕ್ಷಣಗಳೊಂದಿಗೆ ಆನ್ ಮತ್ತು ಆಫ್ ಮಾಡಲಾಗಿದೆ ಮತ್ತು ಪುನರಾವರ್ತಿತ ನಿರ್ಮಾಣಗಳನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ಬೀಜವನ್ನು "-ಫ್ರ್ಯಾಂಡಮೈಜ್-ಲೇಔಟ್-ಸೀಡ್" ಅಥವಾ "-ಫ್ರ್ಯಾಂಡಮೈಜ್-ಲೇಔಟ್-ಸೀಡ್-ಫೈಲ್" ಫ್ಲ್ಯಾಗ್‌ನೊಂದಿಗೆ ಹೊಂದಿಸುವ ಅಗತ್ಯವಿದೆ.

ಇತರ ಬದಲಾವಣೆಗಳಲ್ಲಿ ಅದು ಎದ್ದು ಕಾಣುತ್ತದೆ:

  • OpenCL ಮತ್ತು OpenMP ಬೆಂಬಲಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ವಿಸ್ತೃತ ಸಾಮರ್ಥ್ಯಗಳು. OpenCL ವಿಸ್ತರಣೆಗೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ cl_khr_subgroup_rotate.
  • x86, PowerPC, ಮತ್ತು RISC-V ಆರ್ಕಿಟೆಕ್ಚರ್‌ಗಳಿಗಾಗಿ ಸುಧಾರಿತ ಬ್ಯಾಕೆಂಡ್‌ಗಳು.
    ಸುಧಾರಿತ LLD ಲಿಂಕರ್ ಮತ್ತು LLDB ಡೀಬಗರ್ ಸಾಮರ್ಥ್ಯಗಳು.
  • "-fstrict-flex-arrays=" ಧ್ವಜವನ್ನು ಸೇರಿಸಲಾಗಿದೆ »ಇದರೊಂದಿಗೆ ನೀವು ರಚನೆಗಳಲ್ಲಿ ಮೃದುವಾದ ರಚನೆಯ ಅಂಶದ ಮಿತಿಗಳನ್ನು ನಿಯಂತ್ರಿಸಬಹುದು (ಸಾಫ್ಟ್ ಅರೇ ಸದಸ್ಯರು, ರಚನೆಯ ಕೊನೆಯಲ್ಲಿ ಅನಿರ್ದಿಷ್ಟ ಗಾತ್ರದ ಒಂದು ಶ್ರೇಣಿ).
  • ಸ್ಥಿರ ಮತ್ತು ವೇರಿಯಬಲ್ ಉದ್ದದ ಸರಣಿಗಳೊಂದಿಗೆ ಹೊಂದಿಕೆಯಾಗದ ಆರ್ಗ್ಯುಮೆಂಟ್ ಘೋಷಣೆಗಳೊಂದಿಗೆ ಅತಿಕ್ರಮಿಸುವ ಕಾರ್ಯಗಳ ಬಗ್ಗೆ ಎಚ್ಚರಿಸಲು "-ವಾರ್ರೇ-ಪ್ಯಾರಾಮೀಟರ್" ಆಯ್ಕೆಯನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
  • MSVC ಯೊಂದಿಗೆ ಸುಧಾರಿತ ಹೊಂದಾಣಿಕೆ.
  • MSVC ಯಲ್ಲಿ ಒದಗಿಸಲಾದ "#ಪ್ರಾಗ್ಮಾ ಫಂಕ್ಷನ್ ಮತ್ತು "#ಪ್ರಾಗ್ಮಾ ಅಲೋಕ್_ಟೆಕ್ಸ್ಟ್" ಗೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
  • MSVC-ಹೊಂದಾಣಿಕೆಯ /JMC ಮತ್ತು /JMC ಫ್ಲ್ಯಾಗ್‌ಗಳಿಗೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
  • RDPRU ಸೂಚನೆಯ ಬಳಕೆಯನ್ನು ನಿಯಂತ್ರಿಸಲು "-m[no-]rdpru" ಫ್ಲ್ಯಾಗ್ ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ, AMD Zen2 ಪ್ರೊಸೆಸರ್‌ಗಳಿಂದ ಬೆಂಬಲಿತವಾಗಿದೆ.
  • RETBLEED ದುರ್ಬಲತೆಯ ವಿರುದ್ಧ ರಕ್ಷಿಸಲು "-mfunction-return=thunk-extern" ಫ್ಲ್ಯಾಗ್ ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ, ಇದು ಪರೋಕ್ಷ ಜಿಗಿತಗಳಿಗಾಗಿ ಊಹಾತ್ಮಕ ಕಾರ್ಯಗತಗೊಳಿಸುವ ಕಾರ್ಯವಿಧಾನದ ಭಾಗವಹಿಸುವಿಕೆಯನ್ನು ಹೊರತುಪಡಿಸಿದ ಸೂಚನೆಗಳ ಅನುಕ್ರಮವನ್ನು ಸೇರಿಸುವ ಮೂಲಕ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ.

ಅಂತಿಮವಾಗಿ ಇದರ ಬಗ್ಗೆ ಇನ್ನಷ್ಟು ತಿಳಿದುಕೊಳ್ಳಲು ನೀವು ಆಸಕ್ತಿ ಹೊಂದಿದ್ದರೆ, ನೀವು ವಿವರಗಳನ್ನು ಪರಿಶೀಲಿಸಬಹುದು ಕೆಳಗಿನ ಲಿಂಕ್.


ನಿಮ್ಮ ಅಭಿಪ್ರಾಯವನ್ನು ಬಿಡಿ

ನಿಮ್ಮ ಈಮೇಲ್ ವಿಳಾಸ ಪ್ರಕಟವಾದ ಆಗುವುದಿಲ್ಲ. ಅಗತ್ಯವಿರುವ ಜಾಗ ಗುರುತಿಸಲಾಗಿದೆ *

*

*

  1. ಡೇಟಾಗೆ ಜವಾಬ್ದಾರಿ: AB ಇಂಟರ್ನೆಟ್ ನೆಟ್ವರ್ಕ್ಸ್ 2008 SL
  2. ಡೇಟಾದ ಉದ್ದೇಶ: ನಿಯಂತ್ರಣ SPAM, ಕಾಮೆಂಟ್ ನಿರ್ವಹಣೆ.
  3. ಕಾನೂನುಬದ್ಧತೆ: ನಿಮ್ಮ ಒಪ್ಪಿಗೆ
  4. ಡೇಟಾದ ಸಂವಹನ: ಕಾನೂನುಬದ್ಧ ಬಾಧ್ಯತೆಯನ್ನು ಹೊರತುಪಡಿಸಿ ಡೇಟಾವನ್ನು ಮೂರನೇ ವ್ಯಕ್ತಿಗಳಿಗೆ ಸಂವಹನ ಮಾಡಲಾಗುವುದಿಲ್ಲ.
  5. ಡೇಟಾ ಸಂಗ್ರಹಣೆ: ಆಕ್ಸೆಂಟಸ್ ನೆಟ್‌ವರ್ಕ್‌ಗಳು (ಇಯು) ಹೋಸ್ಟ್ ಮಾಡಿದ ಡೇಟಾಬೇಸ್
  6. ಹಕ್ಕುಗಳು: ಯಾವುದೇ ಸಮಯದಲ್ಲಿ ನೀವು ನಿಮ್ಮ ಮಾಹಿತಿಯನ್ನು ಮಿತಿಗೊಳಿಸಬಹುದು, ಮರುಪಡೆಯಬಹುದು ಮತ್ತು ಅಳಿಸಬಹುದು.