We present a new library for extracting a polyhedral model from C source. The library is based on clang, the LLVM C frontend, and isl, a library for manipulating quasi-affine sets and relations. The use of clang for parsing the C code brings advanced diagnostics and full support for C99. The use of isl allows for an easy construction and a powerful and compact representation of the polyhedral model. Besides allowing arbitrary piecewise quasi-affine index expressions and conditions, the library also supports some data dependent constructs and has special treatment for unsigned integers. The library has been successfully used to obtain polyhedral models for use in an equivalence checker, a tool for constructing polyhedral process networks, a parallelizer targeting GPUs and an interactive polyhedral environment.
|Number of pages||8|
|Publication status||Published - 23 Jan 2012|
|Event||2nd International Workshop on Polyhedral Compilation Techniques - Paris, France|
Duration: 23 Jan 2012 → 23 Jan 2012
|Workshop||2nd International Workshop on Polyhedral Compilation Techniques|
|Abbreviated title||IMAPCT 2012|
|Period||23/01/12 → 23/01/12|