C++ 如何在LLVM中禁用优化

C++ 如何在LLVM中禁用优化,c++,c,llvm,clang,C++,C,Llvm,Clang,我正在使用clang和-O4优化编译代码。但是,我想禁用函数的内联。我有自己的LLVM过程,它向生成的代码注入一些代码。通过之后,我想启用函数的内联。我该怎么做。您可以使用opt,它可以按任何顺序运行通行证 clang -c main.cpp -O0 -emit-llvm | opt -load yourplugin -yourpass -inline 如果您正在攻击clang,您可以在文件clang/lib/CodeGen/BackendUtil.cpp中更改传递顺序。您应该在内联方法cre

我正在使用
clang
和-O4优化编译代码。但是,我想禁用函数的内联。我有自己的LLVM过程,它向生成的代码注入一些代码。通过之后,我想启用函数的内联。我该怎么做。

您可以使用opt,它可以按任何顺序运行通行证

clang -c main.cpp -O0 -emit-llvm | opt -load yourplugin -yourpass -inline

如果您正在攻击clang,您可以在文件
clang/lib/CodeGen/BackendUtil.cpp
中更改传递顺序。您应该在内联方法
createpasss()

之前插入您的过程,您不能确保您的过程是第一个优化过程吗?也就是说,确保在函数内联传递之前运行它?