Detail produktu

Frontend překladače jazyka C s podporou pragmat

Vznik: 2014

Název česky
Frontend překladače jazyka C s podporou pragmat
Typ
software
Licence
vyžadována - zdarma
Autoři
Klíčová slova

LLVM, clang, pragma, vektorizace, překladače

Popis

Jedná se o značné rozšíření frontendu překladače LLVM clang o podporu specifikace pragmat.
Pomocí pragmat může uživatel dodat překladači další informace o programu.
V překladači LLVM taková podpora předtím nebyla a z důvodu navazujích  úkolů bylo nutné překladač značně upravit a dodat požadovanou funkcionalitu.

Využití je především v následujících optimalizacích překladače:
- alias analýza
    - označení bloků kódu, kde nemůže docházet k překrývání ukazatelů
- vektorizace (nová pragmata jsou založena na pragmatech pro Intel C/C++ překladač)
    - zde je specifikovat, že si přeji pro cyklus použít SIMD instrukce nehledě na odhad ceny
    - nebo ignorovat závoslosti mezi iteracemi smyčky
    - + dodat další informace
- označení specializovaných instrukcí
    - zde je možné označit část kódu, která se má implementovat přímo v hardwaru


Pro zachování pragmat v kódu jsou použity speciální anotace v kódu, které mají ty výhodu,  že narozdíl od ladicích informací v kódu zůstávají i po agresivních optimalizacích.

Umístění
Licence

Pro informace o licenčních podmínkách prosím kontaktujte: Mgr. Michaela Kavková, Výzkumné centrum informačních technologií, Fakulta informačních technologií VUT v Brně,  Božetěchova 2, 612 66 Brno, 541 141 470

Soubory
Projekty
Výzkumné skupiny
Pracoviště
Nahoru