LLVM循环优化

LLVM 是一个广为使用的编译器套件,也是苹果官方的编译器。LLVM 前端可以把高级代码转换成 LLVM 自身的中间代码(IR),而后端再把 IR 翻译为目标平台的机器码。而 LLVM 提供的优化器 opt 可以优化 IR 代码,并生成优化过的 IR 代码。在之前的博客中,我已经探索过使用 clang 来优化一个简单的程序。在那个简单的循环程序中,较为影响性能的就是 Loop Unrolling 优化。我也做出了一些性能测试。

LoopUnrolling优化效果对比

循环是计算机程序中非常重要的结构。如果对循环加以优化,就可以大幅提高程序的运行速度。本文通过一段简单的小程序,对比了 Loop Unrolling 前后的性能差异。

什么是 Loop Unrolling

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×