Dimittis de LLVM 13.0 compilator suite

Post sex menses evolutionis, emissio LLVM 13.0 propositi exhibita est - instrumentum instrumenti GCC compatibile (compilatores, optimizers et codicem generantium) qui programmata componit in bitcode mediae instructionis RISC-similis virtualis (machinae virtualis humili cum gradu. multi-gradu optimization systema). Pseudocode generatum converti potest utens compilator JIT in instructiones machinae directe tempore programma executionis.

Emendationes in Clang 13.0:

  • Cauda confirmatum vocat auxilium praestitum (vocans subroutinam in ipso fine functionis, formans recursionem caudae si se vocat subroutine). Firmamentum caudae cautionis cautum est a attributo in C++ et "__attribute)" in C, quod "reditus" dicitur. Pluma permittit ut optimationes efficiendi in codice in plana iteratione disponas ad consummationem acervum salvandum.
  • "usura" declarationum et extensionum sonorum sustentationem praebent ad definiendum C++11 attributa in forma "[]]".
  • Vexillum "-Wreserved-identificantis" addidit ad admonitionem exhibendam cum identificatores in codice usoris reservatos denotas.
  • Addidit vexilla "-Wunused-sed-parameter" et "-Wunused-but-set-variabilis" ad admonitionem exhibendam si modulus vel variabilis positus est sed non usus.
  • Vexillum "-Wnull-montorem-subtractionem" addidit ad monitionem edendam, si codicem mores indefinitos inducere posset ob usum notoris nulli in operationibus detractionis.
  • Vexillum "-fstack-usage" addidit ad generandum pro singulis codicibus lima additamentum ".su" fasciculi continens informationes de magnitudine tabularum ACERVORUM pro singulis functionibus definitis in tabella procedendo.
  • Novum output genus additum est analysri static - "sarif-html", quod generationem relationum simul in HTML et Sarif formatorum ducit. AllocClassWithName nova addidit reprehendo. Cum optionis "-analyzer-display-progressionis" denotatur, analysis tempus cuiusque functionis ostenditur. Punctor callidi analyser (alpha.cplusplus.SmartPtr) prope parata est.
  • Facultates cum OpenCL auxilio auctae sunt. Auxilio additis novis extensionibus cl_khr_integer_dot_product, cl_khr_extended_bit_ops, __cl_clang_bitfields ac __cl_clang_non_portable_kernel_param_types. Exsecutio Specificationis OpenCL 3.0 continuavit. Pro C, OpenCL 1.2 specificatio per defaltam adhibetur, nisi alia versio expresse scribuntur. Pro C++, subsidium tabulariorum extensionis ".clcpp" adiectum est.
  • Firmamentum pro loop transmutationis normas ("#pragma omp unrol" et "#pragma omp tile") definitum in OpenMP 5.1 specificatio ad effectum est.
  • Optiones additae ad utilitatem clang-formam: SpacesInLineCommentPrefixus ad definiendum spatia numerorum ante commentationes, IndentAccessModifiers, LambdaBodyIndentation et PPIndentWidth ad refrenandum noctis vistrorum, locutionum lambda et praeprocessoris normas. Facultates ad genus imaginum capitis enumerationis (SortIncludes) ampliatae sunt. Addidit subsidium formatting JSON imagini.
  • Magna portio novorum compescuum ad linteolum clang- luculentum addita est.

Clavis rerum novarum in LLVM 13.0:

  • Addidit optionem "-ehcontguard" utendi CET (Windows Control-flow Enforcement Technology) technologiam tuendi contra exsecutionem rerum aedificatarum utens Redi-Oriented Programming (ROP) artificiosam in scaena exceptione tractantem.
  • Projectum debuginfo testium appellatum est crucis-projectorum probatio et ad probationes compositas ex diversis inceptis destinatum, non limitatum ad informationes debugging.
  • Ratio comitialis subsidia praebet ad plures distributiones aedificandas, exempli gratia, unum cum utilitate, alterum cum bibliothecis tincidunt.
  • In tergum pro architecturae AArch64, subsidium Armv9-A RME (Realm Management Extensio) et SME (Scalable Matrix Extensio) extensiones in grege educunt.
  • Support pro ISA V68/HVX addita est ad tergum pro architectura hexagoni.
  • X86 backend emendavit subsidium pro Intel Pentium 3 processors.
  • Auxilia addita GFX1013 RDNA2 APU ad AMDGPU backend.
  • Libc++ pergit novas lineas C++20 et signa C++2b efficere, incluso bibliothecae "notionis" complemento. Addidit subsidium pro std :: filesystem pro MinGW substructio Windows suggestum. Limae header , et separantur. LIBCXX_ENABLE_INCOMPLETE_FEATURES optiones aedificandi additae sunt ut tabulae capitales inactivare non plene perficiantur.
  • Facultates ligatoris LLD dilatatae sunt, in quibus subsidium processuum Big-endian Aarch64 impletur, et Mach-O backend ad statum deducta est quae programmata regularia coniungens permittit. Glibc utens LLD inclusa emendare opus est ad ligamen.
  • The llvm-mca (Machine Code Analyzer) utilitas addidit subsidium processuum qui instructiones in ordine (in-ordine pipeline superscalaris), ut ARM Cortex-A55.
  • LLDB debugger pro suggestu AArch64 plenum subsidium praebet pro authenticitate Indicis, MTE (MemTag, Memoria Tagging Extensio) et registra SVE. Mandata addita quae permittunt te ad singulas destinationes memoriae operandi tags ligare et perscriptio indicoris cum memoriam accessionis ordinare, quae cum tag recto coniungi debet.
  • LLDB debugger et anterior pro lingua Fortran - Flang additae sunt conventibus binariis ab incepto generatis.

Source: opennet.ru