gpt4 book ai didi

compiler-construction - 是否有包含 LLVM 优化列表的网页?

转载 作者:行者123 更新时间:2023-12-01 01:09:14 24 4
gpt4 key购买 nike

我见过很多优化缩略词,例如。
dce, inline, constmerge, constprop, dse, licm, gvn, instcombine, mem2reg, scalarrepl
虽然我可以推断出 dce是死代码消除,我有很多其他问题。

是否有一个包含 LLVM 优化列表和描述的网页,它们中的每一个究竟是做什么的?

亲切的问候,
罗伊

最佳答案

LLVM 文档包含一个列表 analysis and transformation passes .你列出的都属于转换 channel 。详细说明有时简洁的文档:

  • inline内联函数(废话!)。
  • constmerge去重相同的常量。
  • constprop做简单的常量折叠(只有带有常量参数的指令)
  • dse消除了明显无意义的内存写入(相当于 a = 1; a = 2; -> a = 2; )。
  • licm ,循环不变代码运动,将每次迭代中相同的计算移出循环,以便它们只执行一次。
  • GVN 是 global value numbering 的通用首字母缩写词.
  • instcombine用单个等效指令替换多个指令(例如等效于 a + 1 + 1 -> a + 2 )。
  • mem2reg将堆栈分配转换为 SSA 寄存器。如果前端只是通过 alloca 为本地分配空间,则它会简单得多。并使用它们作为指针,但优化过程在 SSA 上工作,所以这个过程变成了 alloca尽可能进入 SSA。
  • scalarrepl用单个成员替换聚合类型(例如,不要用两个 i32 成员来处理结构对象,而是使用两个 i32 寄存器)。
  • 关于compiler-construction - 是否有包含 LLVM 优化列表的网页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16440347/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com