0

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

4

1 回答 1

1

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

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

于 2013-12-09T11:42:06.170 回答