ЛЛВМ 16.0 и објављен је и ово су његове вести

ЛЛВМ Лого

ЛЛВМ је оквир за развој компајлера, као и за помоћ у изградњи нових програмских језика и побољшању постојећих језика.

После нешто више од шест месеци развоја, лансирање нова верзија пројекта ЛЛВМ КСНУМКС, верзија у којој је имплементиран велики број измена и побољшања.

За оне који нису упознати са ЛЛВМ-ом, требало би да знате да је ово је ГЦЦ компатибилан компајлер (компајлери, оптимизатори и генератори кода) који компајлирају програме у РИСЦ-сличан виртуелни инструкцијски међубит код (виртуелна машина ниског нивоа са вишестепеним оптимизационим системом).

Генерисани псеудокод може бити конвертован од стране ЈИТ компајлера у машинске инструкције само у време извршавања програма.

Главне нове карактеристике ЛЛВМ 16.0

У овој новој верзији која је представљена можемо пронаћи неколико важних побољшања у цланг 16.0, од којих се издваја подразумевани Ц++/ОбјЦ++ стандард који је постављен на гну++17 (раније гну++14), који подразумева подршку за Ц++17 функције са ГНУ екстензијама подразумевано. Употреба елемената дефинисаних у Ц++17 стандарду је дозвољена у ЛЛВМ коду.

Још једна од промена која се истиче јесте да је додат подршка за Цортек-А715, Цортек-Кс3 и Неоверсе ЦПУ В2, Армв8.3 екстензије и функције више верзија за ААрцх64 бацкенд.
La компатибилност платформе Армв2, Армв2А, Армв3 и Армв3М су укинути у позадини АРМ архитектуре, за коју није било гарантовано исправно генерисање кода. Додата је могућност генерисања кода за упутства за рад са сложеним бројевима и додата подршка за архитектуре скупова инструкција (ИСА) АМКС-ФП16, ЦМПЦКСАДД, АВКС-ИФМА, АВКС-ВННИ-ИНТ8, АВКС-НЕ-ЦОНВЕРТ у Кс86 бацкенд.

Поред тога, повећани су захтеви за изградњу ЛЛВМ, Такође, буилд би сада требало да буде компатибилан са стандардом Ц++17, тј. за изградњу је потребан најмање ГЦЦ 7.1, Цланг 5.0, Аппле Цланг 10.0 или Висуал Студио 2019 16.7.

С друге стране, то такође наглашава побољшана позадина за МИПС, ПоверПЦ и РИСЦ-В архитектуре, као и подршку за отклањање грешака у 64-битним извршним датотекама за архитектуру ЛоонгАрцх у ЛЛДБ дебугер и побољшано руковање ЦОФФ симболима за отклањање грешака.

Од осталих промена који се истичу:

  • У библиотеци Либц++ главни рад је био усмерен на имплементацију подршке за нове карактеристике стандарда Ц++20 и Ц++23.
  • Време везе је значајно смањено у ЛДД линкеру паралелизовањем скенирања премештања адресе и операција иницијализације секција. Додата подршка за компресију секција помоћу ЗСТД алгоритма.
  • Напредне функције имплементиране са Ц++20 стандардом су такође истакнуте.
  • ухвати структуриране везе у ламбда функцијама.
  • Оператор једнакости унутар израза.
  • Способност да се не наведе кључна реч типа име у неким контекстима,
  • Допуштеност иницијализације додата између заграда („Аггр(вал1, вал2)“).
  • Имплементиране функције дефинисане у будућем Ц++2б стандарду.
  • Подршка је обезбеђена са типом цхар8_т,
  • Проширен опсег знакова дозвољених за употребу у „\Н{…}“,
  • Додата је могућност коришћења променљивих декларисаних као "статички цонстекпр" у функцијама декларисаним као цонстекпр.
  • Имплементиране функције дефинисане у будућем Ц2к Ц стандарду:
  • Додата подршка за учитавање више конфигурационих датотека (прво се учитавају подразумеване конфигурационе датотеке, а затим оне наведене преко „–цонфиг=“ заставице, која се сада може специфицирати више пута).
  • Промењен редослед учитавања подразумеваних конфигурационих датотека: цланг прво покушава да учита датотеку - .цфг и ако не може да га пронађе, покушава да учита две датотеке .цфг анд .цфг.
  • Додата је нова заставица израде „-фцоро-алигнед-аллоцатион“ за рутинску дистрибуцију усклађену са оквиром.
  • Додата је ознака "-фмодуле-оутпут" да би се омогућио једнофазни модел израде стандардних Ц++ модула.
  • Додат је режим „-Рпасс-аналисис=стацк-фраме-лаиоут“ за дијагностиковање проблема са распоредом оквира стека.
  • Додао је нови __аттрибуте__((таргет_версион("цпу_феатурес"))) атрибут и проширио функционалност атрибута __аттрибуте__((таргет_цлонес("цпу_феатурес1″,"цпу_феатурес2",…))) да би изабрао специфичне верзије функција које обезбеђује ЦПУ ААрцх64 .
  • Побољшани дијагностички алати:
  • Додато је упозорење „-Всингле-бит-битфиелд-цонстант-цонверсион“ да би се ухватило имплицитно скраћивање када се једнобитно поље додељује једном битном пољу.
  • Проширена дијагностика за неиницијализоване цонстекпр варијабле.
  • Додата упозорења "-Вцаст-фунцтион-типе-стрицт" и "-Винцомпатибле-фунцтион-поинтер-типес-стрицт" да бисте ухватили потенцијалне проблеме са типовима функција за пребацивање.

Коначно Ако сте заинтересовани да сазнате више о томе, детаље можете проверити у следећи линк.


Оставите свој коментар

Ваша емаил адреса неће бити објављена. Обавезна поља су означена са *

*

*

  1. Odgovorni za podatke: AB Internet Networks 2008 SL
  2. Сврха података: Контрола нежељене поште, управљање коментарима.
  3. Легитимација: Ваш пристанак
  4. Комуникација података: Подаци се неће преносити трећим лицима, осим по законској обавези.
  5. Похрана података: База података коју хостује Оццентус Нетворкс (ЕУ)
  6. Права: У било ком тренутку можете ограничити, опоравити и избрисати своје податке.