LLVM项目不区分有符号整数和无符号整数,如here所述。在某些情况下,您需要知道某个特定变量是否应该被解释为已签名或未签名,例如,当它扩展了大小或在分区中使用时。我对此的解决方案是为每个描述它是整数还是基数类型的变量保留一个单独的类型信息。如何区分LLVM中的有符号和无符号整数
不过,我想知道,是不是有办法在LLVM中“归类”一种类型?我正在寻找某种可以添加到某种类型的“用户数据”,但似乎什么也没有。这种情况在创建类型时不得不以某种方式发生,因为在LLVM中只会生成一次相同的类型。因此
我的问题是:
有没有办法跟踪是否为LLVM基础架构内签订或者无符号整型变量应解释,或者确实是唯一的方式,让独立的信息像我这样做?
感谢
如果你正在编写一个编译器,这通常是你自己维护在前端的信息,与LLVM无关。 –