I'm not sure how to create a ConstantInt in LLVM- I know the number I would like to create, but I'm unsure how I can make a ConstantInt representing that number; I can't seem to find the constructor I need in the documentation.
I'm thinking it has to be along the lines of
ConstantInt consVal = new ConstantInt(something here).
I know I want it to be an int type, and I know my value... I just want to create a number!
Most things in LLVM are created through a static method call instead of directly using a constructor. One reason is that an existing object can be returned instead of creating a new instance.
The static members of ConstantInt have a number of creation methods. You're probably most interested in get (Type *Ty, uint64_t V, bool isSigned=false)
and, if you don't already have an integer type, IntegerType::get (LLVMContext &C, unsigned NumBits)
.
To make an a 32 bit integer:
llvm::ConstantInt::get(context, llvm::APInt(/*nbits*/32, value, /*bool*/is_signed));
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With