Razvojna okolina LLVM

završni rad (sveučilišni)

završni rad (sveučilišni)

Razvojna okolina LLVM

Vrsta ocjenski radovi
Tip završni rad (sveučilišni)
Godina 2010
Status obranjeno

Sažetak

LLVM je kompilatorski sustav koji uz implementaciju suvremenih kompilatorskih strategija pridodaje posebnu pažnju optimizaciji i analizi programa. Sustav je izgrađen kao skup međusobno odvojenih komponenata i omogućuje različite primjene. LLVM pruža svoju jezično neovisnu reprezentaciju jezika sa svojim skupom instrukcija. Na taj način sustav ima međuoblik koda koji je čitljiv i razumljiv ljudima kao pomoć vizualizaciji transformacija, uz prikladan oblik za analizu i transformaciju. Optimizacija, kao i analiza je implementirana u sustav kao prolazi kod koji mijenjaju dijelove koda ili skupljaju neke informacije o kodu. Pisanje vlastitih prolaza je relativno jednostavno, te je zato moguće prilagoditi LLVM optimalno za svaku primjenu. Programska podrška za prikaz grafova toka programa napravljena je u programskom jeziku Java i omogućuje vizualizaciju transformacija nad LLVM kodom.

Ključne riječi

LLVM; Low level virtual machine; jezični prevodioc; kompilator; optimizacija programa; GCC; Control Flow Graph; analiza programa