我已经通过软件包管理器在计算机上安装了llc
程序(当然,我安装了6.0.0版本的LLVM)。另外,我有从源头构建的。我想要的是查看由llvm生成的DAG。但是,不幸的是,两个版本的-debug
都没有-view-dag-combine1-dags
,llc
等选项。这使我发疯,因为它无处不在,该标志应该对我有帮助,但是如果我没有这些标志,则未提及该怎么办。在帮助和帮助中,没有这样的选择。我已经安装了graphviz,dot和gv,这应该不是问题。
已编译的llc
的版本。
./llc -version
LLVM (http://llvm.org/):
LLVM version 7.0.0svn
Optimized build.
Default target: x86_64-unknown-linux-gnu
Host CPU: broadwell
Registered Targets:
and targets...
我已经用RelWithDebugInfo标志构建了它,也许我应该已经用Debug标志构建了它?还是在cmake中有我应该启用的标志?我相信我已经在Google上搜索了很多,但找不到任何信息。
答案 0 :(得分:2)
使用我的调试版本执行llc --help-hidden | grep view-dag
会导致:
-filter-view-dags =- 仅显示名称与所有名称都匹配的基本块 查看-*-dags选项
-view-dag-combine-lt-dags-在帖子合法化dag组合之前,弹出一个窗口以显示dags 通过
-view-dag-combine1-dags-在第一个dag组合通过之前弹出一个窗口以显示dags
-view-dag-combine2-dags-在第二个dag组合通过之前弹出一个窗口以显示dags
如果您查看llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
,则该命令行选项位于#ifndef NDEBUG
预处理程序语句之间,因此仅当您具有调试版本时才显示这些选项。
将CMAKE_BUILD_TYPE
更改为Debug
并重新编译就足够了。
答案 1 :(得分:0)
我做到了,而且奏效了。
<form method=POST %}">
{% csrf_token %}
<div style="background-color:lightgreen">
<h1>
{% if has_written %}
You have already written the exam
{% else %}
CHOOSE THE CORRECT ANSWER
{% endif %}
</h1>
</div>
<input type="hidden" name="exam" value={{ object.id }}>
{% for question in object.question_set.all|shuffle %}
<article class="media content-section">
<div class="media-body">
<div class="article-metadata">
{{ forloop.counter }}   {{ question }}
{% comment %}
<!-- <small class="text-muted">{{ exam.start_date|date:"F d, Y"}}</small> -->
{% endcomment %}
</div>
{% for value in question.get_fields %}
<input type="radio" id="{{ forloop.parentloop.counter }}{{ forloop.counter }}" name="{{ question.id }}" value="{{ value }}" required="True">
<label for="{{ forloop.parentloop.counter }}{{ forloop.counter }}" > {{ value }} </label> <br>
{% endfor %}
</div>
</article>
{% endfor %}
{% if has_written %}
{% else %}
<div class="row spacer">
<div class="col-4 offset-2">
<button type="submit" class="btn btn-block btn-primary">Submit</button>
</div>
</div>
{% endif %}
</form>
您可以检查:https://github.com/llvm/llvm-project/blob/master/llvm/docs/CMake.rst#id5
,如果您想检查DAG,那么也许可以帮到您。