您似乎已经发现了如何在 Clang AST 级别和 LLVM IR 级别进行转储。对于 codegen,以下内容很有用:
-debug
有关指令选择和后续阶段的详细文本转储。此外,-view*-dags
显示(弹出)DAG:
$ llc -help-hidden|grep dags
-view-dag-combine-lt-dags - Pop up a window to show dags before the post legalize types dag combine pass
-view-dag-combine1-dags - Pop up a window to show dags before the first dag combine pass
-view-dag-combine2-dags - Pop up a window to show dags before the second dag combine pass
-view-isel-dags - Pop up a window to show isel dags as they are selected
-view-legalize-dags - Pop up a window to show dags before legalize
-view-legalize-types-dags - Pop up a window to show dags before legalize types
-view-misched-dags - Pop up a window to show MISched dags after they are processed
-view-sched-dags - Pop up a window to show sched dags as they are processed
-view-sunit-dags - Pop up a window to show SUnit dags after they are processed
如果您没有配置和编译带有 graphviz 支持的 LLVM,这些可能不会显示。