如何在opt(LLVM)中关闭矢量化

时间:2015-05-07 10:54:45

标签: compiler-construction clang llvm vectorization

我正在努力理解polly的内部工作(LLVM的多面体优化器)并且我遇到了一个问题:我知道如何关闭Clang中的矢量化(-fno-vectorize命令选项会这样做) ),但在选择中做同样的事情就是我。文档仅显示如何打开此传递,而不是关闭。据我所知,省略它的唯一方法是使用clang,它不能打印通行证的统计数据(或者我无法找到如何)。 谁能帮我?谢谢!

我使用以下命令运行程序:

clang -Xclang -load -Xclang ~/llvm_build/tools/polly/Debug+Asserts/lib/LLVMPolly.so -O3 -fno-vectorize -mllvm -polly -mllvm -polly-vectorizer=polly -S -emit-llvm in.c -o out.ll
opt -load ~/{Polly shared lib}.so -O3 -polly -polly-vectorizer=polly -stats in.ll -o out.ll

第一个省略了铿锵矢量化,但不打印统计数据,第二个打印统计数据,但使用我不想要的矢量化。

1 个答案:

答案 0 :(得分:1)

经验证的方法是检查来源:https://github.com/llvm-mirror/llvm/blob/master/tools/opt/opt.cpp

您正在寻找opt -disable-loop-vectorization ...