Product Details

Frontend překladače jazyka C s podporou pragmat

Created: 2014

Czech title
Frontend překladače jazyka C s podporou pragmat
Type
software
License
In order to use the result by another entity, it is always necessary to acquire a license
License Fee
The licensor does not require a license fee for the result
Authors
Hruška Tomáš, prof. Ing., CSc. (DIFS)
Husár Adam, Ing., Ph.D.
Masařík Karel, Ing., Ph.D. (CM-SDE)
Keywords

LLVM, clang, pragma, vectorization, compilers

Description

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.

Location
License Conditions

For licence please consult: Mgr. Michaela Kavková, Research Centre of Information Technology, Faculty of Information Technology, BUT Brno, Božetěchova 2, 612 66 Brno, 541 141 470

Files
Projects
The IT4Innovations Centre of Excellence, MŠMT, Operační program Výzkum a vývoj pro inovace, ED1.1.00/02.0070, start: 2011-01-01, end: 2015-12-31, completed
Research groups
Departments
Back to top