1

根据https://llvm.org/docs/LangRef.html#opaque-structure-types

不透明结构类型用于表示没有指定主体的结构类型。这对应于(例如)前向声明结构的 C 概念。它们可以命名 (%X) 或未命名 (%52)。

看起来很简单,但我想弄清楚的一件事就是这个。假设我们有两种不透明类型:

%X = type opaque
%Y = type opaque

LLVM 是否关心这是两种不同类型的事实?是否存在用 X 代替 Y 会导致生成不同代码的情况?想到的一种可能性是基于类型的别名分析,但是,不可能取消引用不透明类型,所以看起来它没有办法有所作为。我错过了什么吗?

4

0 回答 0