About: C Language Compiler Frontend with Pragma Support     Goto   Sponge   NotDistinct   Permalink

An Entity of Type : http://linked.opendata.cz/ontology/domain/vavai/Vysledek, within Data Space : linked.opendata.cz associated with source document(s)

AttributesValues
rdf:type
rdfs:seeAlso
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.
  • 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. (en)
Title
  • C Language Compiler Frontend with Pragma Support
  • C Language Compiler Frontend with Pragma Support (en)
skos:prefLabel
  • C Language Compiler Frontend with Pragma Support
  • C Language Compiler Frontend with Pragma Support (en)
skos:notation
  • RIV/00216305:26230/14:PR27335!RIV15-MSM-26230___
http://linked.open...avai/riv/aktivita
http://linked.open...avai/riv/aktivity
  • P(ED1.1.00/02.0070)
http://linked.open...vai/riv/dodaniDat
http://linked.open...aciTvurceVysledku
http://linked.open.../riv/druhVysledku
http://linked.open...iv/duvernostUdaju
http://linked.open...onomickeParametry
  • Software se poskytuje zdarma na základě licenční smlouvy.
http://linked.open...titaPredkladatele
http://linked.open...dnocenehoVysledku
  • 6038
http://linked.open...ai/riv/idVysledku
  • RIV/00216305:26230/14:PR27335
http://linked.open...terniIdentifikace
  • CLANG-PRAGMA
http://linked.open...riv/jazykVysledku
http://linked.open.../riv/klicovaSlova
  • LLVM, clang, pragma, vectorization, compilers (en)
http://linked.open.../riv/klicoveSlovo
http://linked.open...ontrolniKodProRIV
  • [5778D52921E5]
http://linked.open...in/vavai/riv/obor
http://linked.open...ichTvurcuVysledku
http://linked.open...cetTvurcuVysledku
http://linked.open...vavai/riv/projekt
http://linked.open...UplatneniVysledku
http://linked.open...echnickeParametry
  • Jedná se o značné rozšíření frontendu překladače LLVM clang o podporu specifikace pragmat. K otestování je potřeba stáhnotu zdrjové kódy nástroje LLVM ve verzi 3.2, nahrát obsah archivu do nástroje llvm/tools a přejmenovat na clang. Pak přeložit LLVM podle návodu na llvm.org/docs/GettingStarted.html. Po překladu pak spustit clang -target x86 -emit-llvm -S -o out.s -Wall test.c kde test.c je např. toto: int a[200]; int main() { #pragma ivdep for (int i = 0; i < 100; i++) a[i] = i; return 0; } ve výsledném souboru test.ll je pak vidět označení smyčky pomocí llvm.var.annotation. Je porporovaná řada pragmat jako přávě tento ivdep, vector, novector, ise. Lze jednoduše dodat další typy pragmat. Jsou také prováděny různé sémantické kontroly správného použití těchto pragmat.
http://linked.open...iv/tvurceVysledku
  • Hruška, Tomáš
  • Husár, Adam
  • Masařík, Karel
http://linked.open...avai/riv/vlastnik
http://linked.open...itiJinymSubjektem
http://localhost/t...ganizacniJednotka
  • 26230
Faceted Search & Find service v1.16.118 as of Jun 21 2024


Alternative Linked Data Documents: ODE     Content Formats:   [cxml] [csv]     RDF   [text] [turtle] [ld+json] [rdf+json] [rdf+xml]     ODATA   [atom+xml] [odata+json]     Microdata   [microdata+json] [html]    About   
This material is Open Knowledge   W3C Semantic Web Technology [RDF Data] Valid XHTML + RDFa
OpenLink Virtuoso version 07.20.3240 as of Jun 21 2024, on Linux (x86_64-pc-linux-gnu), Single-Server Edition (126 GB total memory, 48 GB memory in use)
Data on this page belongs to its respective rights holders.
Virtuoso Faceted Browser Copyright © 2009-2024 OpenLink Software