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

3
我正在努力理解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向量化技术,但不打印统计数据;第二个选项打印统计数据,但使用了我不想要的向量化技术。


1
尝试运行以下命令以进行编译优化:opt -load ~/{Polly shared lib}.so -O0 -polly -polly-vectorizer=polly -stats in.ll -o out.ll - shrm
opt不接受-O0作为参数,最小值是-O1 - Michael
O1 包括向量化吗? - shrm
所有的LLVM编译都包括向量化,从文档页面中我所理解的是(“循环向量化器默认启用,但可以通过clang使用命令行标志禁用”)。文档提到在clang中禁用它,但没有在opt中提到。 - Michael
1个回答

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接