我爲llvm寫了一些自己的通行證,以便在叮噹中使用它們。LLVM - 鏗鏘自動通行證
我將它們集成在llvm中(不是動態加載的)。他們甚至在現有的優化上市:節當我輸入:
opt --help-hidden
我想現在會自動運行我的通行證自己的一個作爲最後一個當我打電話鐺:
clang ./hello.bc -o ./hello
甚至與C代碼:
clang ./hello.c -o ./hello
當我手動運行我的通行證與選擇,修改後的字節代碼生成並寫入到一個新的.BC文件:
opt -my-pass <./hello.bc> ./hello_optimized.bc
當我編譯修改.BC與鐺,鐺正常優化再次運行,這毀了我的手動執行合格的優化:
clang -O0 -m32 ./hello_optimized.bc -o ./hello_optimized
我的問題是:
- 我如何鏗鏘所有的最後一關自動運行我自己寫的通?
- 另一種可能的解決方案是完全禁用所有通行證,或至少刪除叮/ opt的死代碼/函數。我怎麼能這樣做?
使用鐺-flto,並通過您的通行證金LTO插件的序列。 –