2017-01-02 72 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