https://polly.llvm.org/docs/Architecture.html
The Architecture
Polly is a loop optimizer for LLVM. Starting from LLVM-IR it detects and extracts interesting loop kernels. For each kernel a mathematical model is derived which precisely describes the individual computations and memory accesses in the kernels. Within Polly a variety of analysis and code transformations are performed on this mathematical model. After all optimizations have been derived and applied, optimized LLVM-IR is regenerated and inserted into the LLVM-IR module.
Polly in the LLVM pass pipeline
The standard LLVM pass pipeline as it is used in -O1/-O2/-O3 mode of clang/opt consists of a sequence of passes that can be grouped in different conceptual phases. The first phase, we call it here Canonicalization, is a scalar canonicalization phase that contains passes like -mem2reg,
多面体编译
最新推荐文章于 2024-08-26 15:33:11 发布
Polly是LLVM的循环优化器,从LLVM-IR开始,检测并提取有趣的循环内核。它为每个内核建立数学模型,精确描述内核中的计算和内存访问。在Polly中,对这个模型进行各种分析和代码转换,然后生成优化后的LLVM-IR。Polly可以在优化阶段早期或目标专业化阶段运行,以提高代码性能,尤其是在内联和向量化之前。
摘要由CSDN通过智能技术生成