LLVM opt 工具不会矢量化由 clang -O0 生成的 IR
LLVM opt tool does not vectorize IR generated by clang -O0
我正在尝试基于从 opt 工具借用的优化管道构建 JIT 编译器。
但是我遇到了一个问题,即我的 JIT 没有对代码进行矢量化。
我试着用 opt on simple example here 重现它。 https://godbolt.org/z/eRKrLa
在该示例中,clang -O3 发出矢量化 IR,但是如果我尝试优化 clang -O0 生成的 IR,它不会做任何更改。
我做错了什么?
这是意料之中的。 clang -O0
的输出不打算重新优化。你需要做类似 clang -O3 -mllvm -disable-llvm-optzns
的事情
我正在尝试基于从 opt 工具借用的优化管道构建 JIT 编译器。 但是我遇到了一个问题,即我的 JIT 没有对代码进行矢量化。 我试着用 opt on simple example here 重现它。 https://godbolt.org/z/eRKrLa
在该示例中,clang -O3 发出矢量化 IR,但是如果我尝试优化 clang -O0 生成的 IR,它不会做任何更改。
我做错了什么?
这是意料之中的。 clang -O0
的输出不打算重新优化。你需要做类似 clang -O3 -mllvm -disable-llvm-optzns