Polly: The available LLVM passes
Polly consists of a set of LLVM passes.
Front End
- polly-prepare Prepare code for Polly
- polly-region-simplify Transform refined regions into simple regions
- polly-detect Detect SCoPs in functions
- polly-analyze-ir Analyse the LLVM-IR in the detected SCoPs
- polly-independent Create independent blocks
- polly-scops Create polyhedral description of SCoPs
Middle End
- polly-dependences Calculate the dependences in a SCoPs
- polly-interchange Perform loop interchange (work in progress)
- polly-optimize Optimize the SCoP using PoCC
- Import/Export
- polly-export-cloog Export the CLooG input file (Writes a .cloog file for each SCoP)
- polly-export Export SCoPs with OpenScop library (Writes a .scop file for each SCoP)
- polly-import Import SCoPs with OpenScop library (Reads a .scop file for each SCoP)
- polly-export-scoplib Export SCoPs with ScopLib library (Writes a .scoplib file for each SCoP)
- polly-import-scoplib Import SCoPs with ScopLib library (Reads a .scoplib file for each SCoP)
- polly-export-jscop Export SCoPs as JSON (Writes a .jscop file for each SCoP)
- polly-import-jscop Import SCoPs from JSON (Reads a .jscop file for each SCoP)
- Graphviz
- dot-scops Print SCoPs of function
- dot-scops-only Print SCoPs of function (without function bodies)
- view-scops View SCoPs of function
- view-scops-only View SCoPs of function (without function bodies)
Back End
- polly-cloog Execute CLooG code generation
- polly-codegen Create LLVM-IR from the polyhedral information