LLVM如何为结构生成bitcodes(IR)

时间:2013-12-09 10:33:18

标签: structure llvm llvm-ir

我搜索了LLVM的源代码,但是我找不到确切的代码片,它们显示了LLVM如何为结构生成bitcodes(IR)。 我搜索关键字'StructType :: create'和'StructType :: get',但是有很多次出现。 谁能告诉我在哪里可以找到确切的代码片。我的目的是改变结构中元素的顺序和其他东西。谢谢。

1 个答案:

答案 0 :(得分:1)

负责最初生成IR的组件称为前端。 LLVM核心本身并不包含任何前端,但是有许多前端都是针对它编写的,最着名的是Clang - 一个用于LLVM的C,C ++和Objective-C前端。

因此,如果“为结构生成bitcode”意味着“为 C 结构生成bitcode”,那么负责它的代码将在Clang中。具体来说,CGRecordLayoutCGRecordLayoutBuilder类负责创建LLVM结构类型。