如何创建llvm类型

时间:2018-11-11 07:21:56

标签: types llvm llvm-ir bitcode

我正在尝试创建目标类型为TruncInst的{​​{1}}。 但是,我似乎找不到合适的类型构造器 当我看着here时。我希望它应该像这样简单:

i8

但是显然不是。我可能正在寻找API中的某些内容。 非常感谢您的任何帮助,谢谢!

1 个答案:

答案 0 :(得分:2)

Type::getInt8Ty(getContext());将为您提供一种类型,前提是您有一种获取相关上下文的方法。

您不能自己创建IntegerType,因为LLVM的设计表明如果两个类型t1和t2是相同的(例如,都是8位整数类型)并且存在于相同的上下文中,则t1==t2。许多LLVM代码期望使用==测试是否相等。