点文件不生成-view-isle-dogs选项

问题描述 投票:0回答:1

在尝试使用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
compiler-construction llvm graphviz dot llc
1个回答
0
投票

猜测问题是默认情况下启用的快速指令选择。

$ llc -debug sum.ll

跳过函数和上的'X86 DAG-> DAG指令选择'

更改函数和之前的优化级别:-O2;之后:-O0

FastISel已启用

禁用fastIsel解决了这个问题。

$ llc -fast-isel=false -view-dag-combine1-dags sum.ll

© www.soinside.com 2019 - 2024. All rights reserved.