我在努力理解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
第一个省略了clang矢量化,但是不打印统计信息,第二个打印了统计信息,但是使用了我不想要的矢量化。
最佳答案
公认的方法是检查源:https://github.com/llvm-mirror/llvm/blob/master/tools/opt/opt.cpp。
您正在寻找opt -disable-loop-vectorization ...
。
关于compiler-construction - 如何在opt(LLVM)中关闭矢量化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30099046/