gpt4 book ai didi

clang - 在LLVM IR中,如何打印未命名值的名称,该名称表示为带有前缀(如%2)的无符号数字值?

转载 作者:行者123 更新时间:2023-12-02 10:56:20 25 4
gpt4 key购买 nike

我想打印出用LLVM IR(作为练习)编写的说明,并且我有一个BitCastInst像这样:
%0 = bitcast [32xi32]* %reg to i8*
在这种情况下,如何打印其左值的名称,该值是未命名的值%0

最佳答案

这些名称在IR的内存表示中并不真正存在-在那里,值仅使用指针引用其他值。在写出名称时,将计算名称并将其添加到文本形式。这是有道理的,因为转换不断地操纵IR,并且每当在某处插入指令时必须去更新所有名称将是昂贵的。

您可以查看AsmWriter的源以进行验证-the incrementing numbers are assigned by the SlotTracker herehere's the code that that prints out an instruction line in the IR, using the name if it's present or the slot number if not

关于clang - 在LLVM IR中,如何打印未命名值的名称,该名称表示为带有前缀(如%2)的无符号数字值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63260038/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com