这一定是愚蠢的,但是当他们说“LLVM中的类型是唯一的”时,我不理解其含义(请参阅this tutorial,第3.4节)。您能否请我解释一下所谓的“唯一类型”(“LLVM类型是唯一的”,一旦“唯一类型”清楚就应该易于理解。)
最佳答案
这意味着具有相同内容的两种类型实际上是同一类型。这就是为什么当您需要“double(double,double,double)”类型时不创建新类型,而是获得现有的“double(double,double,double)”类型的原因-如果没有为您创建的类型,如果已经存在,则将其返回。
这是LLVM中的常见情况,唯一的例外是identified structural types in LLVM are uniqued by name and not structure。 “确定的结构类型”是指具有关联名称的结构类型。
通常,这与nominal types与structural types的概念有关。