`ConstantInt::getTrue (LLVMContext &Context)` 和 `ConstantInt::getTrue (Type *Ty)` 有什么区别?
What's the difference between `ConstantInt::getTrue (LLVMContext &Context)` and `ConstantInt::getTrue (Type *Ty)`?
我在 llvm::ConstantInt
文档中找到了 2 个 API:
static ConstantInt *ConstantInt::getTrue (LLVMContext &Context)
: https://llvm.org/doxygen/classllvm_1_1ConstantInt.html#a82dbbd8e3688b0bc1eedb338864d0d0c
static Constant *ConstantInt::getTrue (Type *Ty)
: https://llvm.org/doxygen/classllvm_1_1ConstantInt.html#a1d728e83e9e0fa85b0b58b33ec9c3197
但我不知道这两个 API 有什么区别?
前者构造了一个ConstantInt
,其中有i1
类型,而后者允许你自己指定类型。这可能对构建 i8 0
、i16 1
等有用。
我在 llvm::ConstantInt
文档中找到了 2 个 API:
static ConstantInt *ConstantInt::getTrue (LLVMContext &Context)
: https://llvm.org/doxygen/classllvm_1_1ConstantInt.html#a82dbbd8e3688b0bc1eedb338864d0d0cstatic Constant *ConstantInt::getTrue (Type *Ty)
: https://llvm.org/doxygen/classllvm_1_1ConstantInt.html#a1d728e83e9e0fa85b0b58b33ec9c3197
但我不知道这两个 API 有什么区别?
前者构造了一个ConstantInt
,其中有i1
类型,而后者允许你自己指定类型。这可能对构建 i8 0
、i16 1
等有用。