Polyhedral Extraction Tool
Sven Verdoolaege, Tobias Grosser · 2012
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 con-ditions, the library also supports some data dependent con-structs and has special treatment for unsigned integers. The library has been successfully used to obtain polyhedral mod-els for use in an equivalence checker, a tool for constructing polyhedral process networks, a parallelizer targeting GPUs and an interactive polyhedral environment.