ЛЛВМ 11.0 стиже са ажурирањем на Питхон 3, побољшањима за РИСЦ-В и више

ЛЛВМ

После шест месеци развоја представљено је лансирање новог издања пројекта ЛЛВМ 11.0 у коме је представљено неколико побољшања, попут ажурирања на Питхон 3, закрпе за подршку експерименталним упутствима у РИСЦ-В и још много промена.

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

Дизајниран је за оптимизацију времена компајлирања, време везивања, време извршавања у било ком програмском језику који корисник жели да дефинише. Првобитно је имплементиран за компајлирање Ц и Ц ++, Језички агностички дизајн ЛЛВМ-а и успех пројекта изнедрили су широк спектар језика.

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

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

У овој новој верзији ЛЛВМ 11.0 систем изградње је премештен да користи Питхон 3Као такав, употреба Питхон 3 није присиљена, јер у случају да није доступан, опција враћања је имплементирана за употребу Питхон 2.

Атрибут додата је векторска функција-аби-варијанта до средње заступљености (ИР) за описивање пресликавања између скаларних и векторских функција за позиве за векторизацију. Два одвојена векторска типа, ллвм :: ФикедВецторТипе и ллвм :: СцалаблеВецторТипе, издвојена су из ллвм :: ВецторТипе.

Недефинисано понашање је разгранавање засновано на ундеф и прелазак са недефинисаних вредности на стандардне функције библиотеке.

У мемсет / мемцпи / меммове дозвољено је прослеђивање недефинисаних показивача, али ако је параметар величине једнак нули.

ЛЉИТ додаје подршку за вршење статичких иницијализација путем метода ЛЉИТ :: инитиализе и ЛЉИТ :: деинитиализе.

Додато је могућност додавања статичких библиотека у ЈИТДилиб користећи класу СтатицЛибрариДефинитионГенератор. Додан Ц АПИ за ОРЦв2 (АПИ за стварање ЈИТ компајлера).

Побољшање подршке за различите процесорске архитектуре:

  • Додато подршка за Цортек-А34, Цортек-А77, Цортек-А78 и Цортек-Кс1 процесоре на позадини архитектуре ААрцх64. Примењена су проширења АРМв8.2-БФ16 (БФлоат16) и АРМв8.6-А, укључујући РМв8.6-ЕЦВ (побољшана контра-виртуелизација), АРМв8.6-ФГТ (фино зрнасте замке), АРМв8.6-АМУ (активност Надгледа виртуелизацију) и АРМв8.0-ДГХ (наговештај прикупљања података).
  • Додата подршка за Цортек-М55, Цортек-А77, Цортек-А78 и Цортек-Кс1 процесоре на АРМ позадини. Применили су проширења Армв8.6-А Матрик Мултипли и РМв8.2-АА32БФ16 БФлоат16.
  • Додата подршка за генерисање кода за ПОВЕР10 процесоре у ПоверПЦ позадини. Побољшана оптимизација петље и побољшана подршка за операције са покретном тачком.
  • Архитектонска позадина РИСЦ-В може да прима закрпе са подршком за експерименталне проширене комплете инструкција који још увек нису званично одобрени.

Поред тога, обезбеђена је могућност генерисања кода за функције везивања интегрисан у векторске СВЕ инструкције.

Позадина за АВР архитектуру је премештена из експерименталне категорије у стабилне укључене у основну дистрибуцију.

Позадина к86 подржава Интел АМКС и ТСКСЛДТРК упутства. Додата заштита од ЛВИ напада (Лоад Валуе Ињецтион) и општи механизам за сузбијање нежељених ефеката спекулативног извршавања такође је примењен за блокирање напада изазваних шпекулативним извршавањем операција на ЦПУ-у.

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

  • Заштита за архитектуру СистемЗ додаје подршку за МемориСанитизер и ЛеакСанитизер.
  • Либц ++ додаје подршку за математичку датотеку константног заглавља .
  • Проширене могућности ЛЛД повезивача.
  • Побољшана ЕЛФ подршка, укључујући додане опције „–лто-емит-асм“, „–лто-вхоле-програм-висибле“, „–принт-арцхиве-статс“, „–схуффле-сецтион“, „–тхинлто-сингле -модуле "," –Уникат "," –рогмент "," –нитови = Н ".
  • Додата је опција „–тиме-траце“ за спремање праћења у датотеку, која се потом може рашчланити кроз цхроме: // траце интерфаце у Цхроме-у.
  • Интерфејс са Го (ллго) компајлером уклоњен је из издања и можда ће бити реструктуриран у будућности.

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


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

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

*

*

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