gpt4 book ai didi

clang - 将 LLVM IR 转换为更高的优化级别

转载 作者:行者123 更新时间:2023-12-01 04:44:39 25 4
gpt4 key购买 nike

我已将 C 代码编译为 LLVM带有 -O0 的红外代码优化。

我该如何转换这个 -O0 LLVM IR 代码到 -O3 LLVM IR 代码“没有 C 代码”?

我试过如下:

clang -O3 -S -emit-llvm O0.ll -o O3.ll


opt -O3 -S O0.ll -o O3.ll

但输出仍然是 -O0等级。

谢谢你。

最佳答案

我不确定更改何时发生(我认为是 LLVM 3.9.0 及以上),但是当您编译为 bitcode 函数时,会使用 optnone 进行注释。不执行属性和进一步优化。

看看相关的 SO 讨论 here .

建议是这样做:

clang -emit-llvm -O1 -mllvm -disable-llvm-optzns -disable-llvm-passes foo.c -o foo.bc

对于 LLVM 3.8.0 及更早版本(我认为)您已经在做的就足够了。

因此,一旦您获得该位码(没有 optnone )参数,您就可以使用 opt正如你已经在做的那样。

关于clang - 将 LLVM IR 转换为更高的优化级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47805543/

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