我正在努力理解Polly(LLVM的多面体优化器)的内部工作,并且卡在一个问题上:我知道如何在Clang中关闭矢量化(-fno-vectorize命令选项可以做到),但是在opt中做相同的事情让我束手无策。文档只显示如何打开此传递,而不是关闭。据我所知,唯一省略它的方法是使用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向量化技术,但不打印统计数据;第二个选项打印统计数据,但使用了我不想要的向量化技术。
opt -load ~/{Polly shared lib}.so -O0 -polly -polly-vectorizer=polly -stats in.ll -o out.ll
- shrm-O0
作为参数,最小值是-O1
。 - MichaelO1
包括向量化吗? - shrm