我搜索了LLVM的源代码,但是我找不到确切的代码片,它们显示了LLVM如何为结构生成bitcodes(IR)。 我搜索关键字'StructType :: create'和'StructType :: get',但是有很多次出现。 谁能告诉我在哪里可以找到确切的代码片。我的目的是改变结构中元素的顺序和其他东西。谢谢。
答案 0 :(得分:1)
负责最初生成IR的组件称为前端。 LLVM核心本身并不包含任何前端,但是有许多前端都是针对它编写的,最着名的是Clang - 一个用于LLVM的C,C ++和Objective-C前端。
因此,如果“为结构生成bitcode”意味着“为 C 结构生成bitcode”,那么负责它的代码将在Clang中。具体来说,CGRecordLayout
和CGRecordLayoutBuilder
类负责创建LLVM结构类型。