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()
之前插入您的过程,您不能确保您的过程是第一个优化过程吗?也就是说,确保在函数内联传递之前运行它?