点文件不生成-view-isle-dogs选项
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了点文件不生成-view-isle-dogs选项相关的知识,希望对你有一定的参考价值。
在尝试使用LLVM(从启用了调试模式的源构建)中查看在指令选择阶段生成的SelectionDag
节点时,我使用的是以下命令,该命令不会创建Graphviz DOT文件。
llc -view-isel-dags sum.bc
相反,它正在创建sum.s
文件。这里有什么我想念的吗?
sum.c
int sum(int x, int y) {
return x+y;
}
sum.bc
$ clang -emit-llvm sum.c -c -o sum.bc
LLVM信息
$ llc -help-hidden | grep 'view-isel' -view-isel-dags - Pop up a window to show isel dags as they are selected
$ llvm-config --build-mode
Debug
答案
猜测问题是默认情况下启用的快速指令选择。
$ llc -debug sum.ll
跳过函数和上的'X86 DAG-> DAG指令选择'
更改函数和之前的优化级别:-O2;之后:-O0
FastISel已启用
禁用fastIsel解决了这个问题。
$ llc -fast-isel=false -view-dag-combine1-dags sum.ll
以上是关于点文件不生成-view-isle-dogs选项的主要内容,如果未能解决你的问题,请参考以下文章