6
我正在編譯帶有-O4優化的clang
代碼。但是,我想禁用函數的內聯。我有我自己的LLVM通道,它向生成的代碼注入一些代碼。通過後,我想啓用內聯函數。我怎樣才能做到這一點。如何在LLVM中禁用優化
我正在編譯帶有-O4優化的clang
代碼。但是,我想禁用函數的內聯。我有我自己的LLVM通道,它向生成的代碼注入一些代碼。通過後,我想啓用內聯函數。我怎樣才能做到這一點。如何在LLVM中禁用優化
您可以使用它可以運行的opt以任意順序通過。
clang -c main.cpp -O0 -emit-llvm | opt -load yourplugin -yourpass -inline
如果你是黑客鐺,您可以更改文件clang/lib/CodeGen/BackendUtil.cpp
傳遞順序。在插入方法CreatePasses()
之前,您應該插入您的通行證。
難道你不能確保你的通行證是第一次優化通行證嗎?即確保它在函數inliner傳遞之前運行* – Giel 2012-07-31 20:23:23
我該怎麼做Giel? – pythonic 2012-07-31 20:25:54