Detail aplikovaného výsledku

Frontend překladače jazyka C s podporou pragmat

HRUŠKA, T.; HUSÁR, A.; MASAŘÍK, K.

Originální název

Frontend překladače jazyka C s podporou pragmat

Anglický název

Frontend překladače jazyka C s podporou pragmat

Druh

Software

Abstrakt

This software is a significant extension of the clang LLVM frontend with pragma support.

Pragmas can be used to give additional information to the compiler.

There was no such support in LLVM before and because of support for following task, it was necessary to significanly modify the existing clang frontend and add required functionality.

Usage of pragmas is mainly in following compiler optimizaitons:

- alias analysis

  - mark block of code where pointers cannot alias

- vectorization

  - e.g. to specify that the programmer want to use SIMD insturctions regardless on price or other 

  - or ignore dependencies between loop iterations

  - + to add other information

- marking of specialozed instructions

  - it is possible to select pieces of source code that should be executed directly in hardware

To keep the pragmas in the source code are special annotations used, the advantage is that compared to debug information, that annotations are kjept even after agressive optimizations.

Abstrakt aglicky

This software is a significant extension of the clang LLVM frontend with pragma support.

Pragmas can be used to give additional information to the compiler.

There was no such support in LLVM before and because of support for following task, it was necessary to significanly modify the existing clang frontend and add required functionality.

Usage of pragmas is mainly in following compiler optimizaitons:

- alias analysis

  - mark block of code where pointers cannot alias

- vectorization

  - e.g. to specify that the programmer want to use SIMD insturctions regardless on price or other 

  - or ignore dependencies between loop iterations

  - + to add other information

- marking of specialozed instructions

  - it is possible to select pieces of source code that should be executed directly in hardware

To keep the pragmas in the source code are special annotations used, the advantage is that compared to debug information, that annotations are kjept even after agressive optimizations.

Klíčová slova

LLVM, clang, pragma, vectorization, compilers

Klíčová slova anglicky

LLVM, clang, pragma, vectorization, compilers

Umístění

http://www.fit.vutbr.cz/research/prod/index.php.cs?id=345

Licenční poplatek

K využití výsledku jiným subjektem je vždy nutné nabytí licence

www

Dokumenty