2017-01-02 34 views
2

目前我試圖設置默認的通行證選擇/叮噹。將隱式調用,當我使用命令,如:設置默認的llvm通過選擇和鐺

clang -c -emit-llvm code.ll 

opt code.ll 

的問題是,修改應直接做了LLVM的源代碼,那就是我不應該使用環境變量,符號鏈接和別名。

我在互聯網和llvm源代碼上做了很多搜索,但是我沒有找到解決方案,我也不知道如何解決這個問題。

回答

1

將您的通行證添加到PassManager。

diff --git a/llvm-3.8.0/tools/opt/opt.cpp b/llvm-3.8.0/tools/opt/opt.cpp 

@@ -446,6 +446,8 @@ int main(int argc, char **argv) { 
    if (DisableSimplifyLibCalls) 
    TLII.disableAllFunctions(); 
    Passes.add(new TargetLibraryInfoWrapperPass(TLII)); 
+ Passes.add(createxxxPass()); 

另外,看看這些功能。

PassManagerBuilder::populateFunctionPassManager 
PassManagerBuilder::populateModulePassManager 
PassManagerBuilder::addLTOOptimizationPasses 
PassManagerBuilder::populateLTOPassManager