LLVM

Čo je LLVM?

Čo je LLVM?

Čo je LLVM a prečo je užitočný?

Pod záštitou LLVM funguje niekoľko mini-projektov. Mini-projekty sa zaoberajú hlavne technológiami prekladačov. Zdá sa, že pokiaľ ide o pomenovanie LLVM, existujú určité nejasnosti. Ľudia sa mylne domnievajú, že to súvisí s virtuálnymi strojmi. Neexistuje žiadne spojenie. Pojem LLVM nestojí za nič. Je to len názov, ktorý sa používal na začiatku projektu.

Projekt LLVM je prevádzkovaný na základe licencie BSD v štýle „UIUC“. Projekt vznikol na University of Illinois. Odvtedy si získal popularitu a využíva sa na rôzne projekty. Je obzvlášť populárny v akademických kruhoch. Hlavným cieľom projektu je poskytnúť statickú a dynamickú kompiláciu rôznych programovacích jazykov na báze SSA.

Tu je mini-projekt LLVM:

  1. LLVM jadro: Základné knižnice poskytujú optimalizáciu a podporu generovania kódu pre CPU. LLVM IR (Intermediate Representation) predstavuje základ pre knižnice. Komunita odviedla dobrú prácu pri dokumentovaní jadra LLVM. Tieto knižnice teda môžete ľahko použiť na vytvorenie nového programovacieho jazyka alebo na vytvorenie portu existujúceho kompilátora. Ak sa chystáte podniknúť na týchto územiach, LLVM Core je dobrým miestom pre začatie.
  1. Clang: Je to prekladač, ktorý je trikrát rýchlejší ako GCC. Zameriava sa na C, C ++ a Objective-C. Clangské chyby a varovania sú ľahšie pochopiteľné. Má tiež nástroj na statický analyzátor. Samotný nástroj statického analyzátora je zostavený pomocou kompilátora Clang.
  1. LLDB: Je to debugger. Je to rýchlejšie a efektívnejšie ako GDB. Debugger je zostavený pomocou Clang a LLVM Core.
  1. libc ++ a libc ++ ABI: Lepšia implementácia C ++ STD.
  1. kompilátor-rt: Poskytuje podporu pre nízkoúrovňový kód. Má tiež knižnice run-time pre dynamické testovanie.
  1. OpenMP: Open Multi-Processing (OpenMP) je API, ktoré pomáha pri multithreadingu. Tento projekt podporuje natívny runtime pre OpenMP, ktorý sa má používať s Clang.
  1. Polly: Vo svete LLVM je to optimalizátor slučiek a lokálnych údajov na vysokej úrovni. Optimalizuje vzory prístupu do pamäte programov.
  1. libclc: Knižnica pre OpenCL.
  1. Klee: Je to symbolický virtuálny stroj. Pomocou programu Klee môžete prekonať všetky dynamické cesty v programe a nájsť problémy. Stroj dokáže vyrobiť automatizované testovacie prípady.
  1. BEZPEČNÝ KÓD: Je to kompilátor pre C / C ++, ktorý zaručuje bezpečnosť pamäte. Je to vynikajúci nástroj, ktorý môžu preskúmať odborníci v oblasti kybernetickej bezpečnosti. Môže pomôcť pri zisťovaní chýb bezpečnosti pamäte.
  1. lld: Vytvára linker na spoluprácu s Clang a LLVM.

LLVM má povesť vytvárania čistejších binárnych súborov ako GCC. LLVM má tiež externé projekty, ktoré možno použiť na kompiláciu jazykov Python, Haskell, PHP, LUA, Ruby a ďalších jazykov. LLVM sa považuje za všestranné, flexibilné a opakovane použiteľné riešenie. Získava si teda popularitu vo vývojovej komunite. Používa sa ako kompilátory JIT pre vložené jazyky. LLVM sa používa aj pre superpočítače. Vďaka širokej podpore komunity vývojárov je tento nástroj robustným nástrojom.

Ďalšie štúdium:

Hry Zadarmo a open source herné motory pre vývoj hier pre Linux
Zadarmo a open source herné motory pre vývoj hier pre Linux
Tento článok sa bude zaoberať zoznamom bezplatných a otvorených herných nástrojov, ktoré možno použiť na vývoj 2D a 3D hier v systéme Linux. Existuje ...
Hry Výukový program Shadow of the Tomb Raider pre Linux
Výukový program Shadow of the Tomb Raider pre Linux
Shadow of the Tomb Raider je dvanásty prírastok do série Tomb Raider - franšíza akčných adventúr vytvorená Eidosom Montrealom. Túto hru prijali kritic...
Hry Ako zvýšiť rýchlosť FPS v systéme Linux?
Ako zvýšiť rýchlosť FPS v systéme Linux?
FPS znamená Počet snímok za sekundu. Úlohou FPS je merať snímkovú frekvenciu pri prehrávaní videa alebo herných výkonoch. Jednoducho povedané, počet n...