LLVM 中的`AsmVerbose` 或`IsVerboseAsm` 在哪里设置?

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

我正在学习 LLVM 后端。我想在我的新目标机器上为

IsVerboseAsm
启用
AsmPrinter
,以便我可以打印评论。

我尝试通过参考

Target/X86
来做到这一点。因为我注意到在我的目标机器上,
IsVerboseAsm
总是
false
,而对于 X86 它总是
true
.

但是,我找不到任何代码来配置

IsVerboseAsm
。我用gdb跟踪了一下,发现这个数据的来源是LLVM编译时生成的
include/clang/Driver/Options.inc
下的一个宏:

CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, &"-fno-verbose-asm"[1], fno_verbose_asm, Flag, f_Group, INVALID, nullptr, CC1Option, 0, nullptr. nullptr, nullptr, "-fno-verbose-asm", true, 0, CodeGenOpts.AsmVerbose, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag , mergeForwardValue, extractForwardValue, -1)

进一步的追踪对我来说是不必要的复杂。另一方面,我也想知道,如果这是目标无关的代码,为什么会出现在这样的地方。

那么,我应该查看哪些关键字,以便知道如何为我要添加的目标机器的

IsVerboseAsm
启用
AsmPrinter
?我知道我总是可以写一些代码来直接将
TargetOptions
中的选项设置为
true
,但我想知道其他后端是如何做到的。

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