【发布时间】:2012-07-31 20:20:42
【问题描述】:
我正在使用带有 -O4 优化的 clang 编译代码。但是,我想禁用函数的内联。我有自己的 LLVM 通行证,可以将一些代码注入到生成的代码中。通过后,我想启用函数的内联。我该怎么做。
【问题讨论】:
-
您不能确保您的通行证是第一批优化通行证之一吗? IE。确保它在 函数内联传递之前运行?
我正在使用带有 -O4 优化的 clang 编译代码。但是,我想禁用函数的内联。我有自己的 LLVM 通行证,可以将一些代码注入到生成的代码中。通过后,我想启用函数的内联。我该怎么做。
【问题讨论】:
您可以使用 opt which says 它可以以任何顺序运行通行证。
clang -c main.cpp -O0 -emit-llvm | opt -load yourplugin -yourpass -inline
【讨论】:
如果您正在破解 clang,您可以在文件 clang/lib/CodeGen/BackendUtil.cpp 中更改通行证顺序。您应该在方法 CreatePasses() 内联之前插入您的通行证。
【讨论】: