llvn类型的类名后面的数字是什么?

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

我在LLVM中通过getFunctionType()获得了函数类型,当我打印它们时,函数类型包含类似以下内容:(%"class.xalanc_1_8::ReusableArenaBlock.10232"*)

[前一部分是类名class.xalanc_1_8::ReusableArenaBlock,数字呢?其中一些包含多个数字。我想知道数字的用法。

c++ llvm clang++
1个回答
0
投票

前端(通常解析源代码语言)需要创建具有唯一名称的LLVM类型。大多数前端使用类型名称和源代码中的其他字符串来构造IR类型的名称,但有时(并非唯一)是唯一的。追加数字是获得唯一性的正常方法。

实际上,如果您创建某些类型或许多其他内容,则LLVM会自动添加数字,没有错误,只是您请求的名称已被使用。

这不是避免冲突的唯一方法。在某些情况下,我自己的代码会从源代码中添加行号(尽管不适用于类型)。

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