Literales
Enteros#
Obtener un entero de 1-bit (booleano)#
llvm::ConstantInt* integerConstant = llvm::ConstantInt::get(builder.getInt1Ty(), value, isSigned);Obtener un entero de 8-bit#
llvm::ConstantInt* integerConstant = llvm::ConstantInt::get(builder.getInt8Ty(), value, isSigned);Obtener un entero de 16-bit#
llvm::ConstantInt* integerConstant = llvm::ConstantInt::get(builder.getInt16Ty(), value, isSigned);Obtener un entero de 32-bit#
llvm::ConstantInt* integerConstant = llvm::ConstantInt::get(builder.getInt32Ty(), value, isSigned);Obtener un entero de 64-bit#
llvm::ConstantInt* integerConstant = llvm::ConstantInt::get(builder.getInt64Ty(), value, isSigned);Flotantes#
Obtener un flotante de 32-bit#
llvm::ConstantFP* floatingConstant = llvm::ConstantFP::get(builder.getFloatTy(), value);Obtener un flotante de 64-bit#
llvm::ConstantFP* floatingConstant = llvm::ConstantFP::get(builder.getDoubleTy(), value);Arrays#
Array de enteros de 8-bit#
std::vector<uint8_t> data;llvm::Constant* arrayConstant = llvm::ConstantDataArray::get(context, data);Array de enteros de 16-bit#
std::vector<uint16_t> data;llvm::Constant* arrayConstant = llvm::ConstantDataArray::get(context, data);Array de enteros de 32-bit#
std::vector<uint32_t> data;llvm::Constant* arrayConstant = llvm::ConstantDataArray::get(context, data);Array de enteros de 64-bit#
std::vector<uint64_t> data;llvm::Constant* arrayConstant = llvm::ConstantDataArray::get(context, data);Array de flotantes de 32-bit#
std::vector<float> data;llvm::Constant* arrayConstant = llvm::ConstantDataArray::get(context, data);Array de flotantes de 64-bit#
std::vector<double> data;llvm::Constant* arrayConstant = llvm::ConstantDataArray::get(context, data);Array de caracteres#
bool addNull = true; // ¿Agregar terminador nulo ( '\0' ) ?const char* value = "test";//const std::string value = "test";
llvm::Constant* stringConstant = llvm::ConstantDataArray::getString(context, value, addNull);Alternativas para enteros#
- Obtener un entero de 1-bit (booleano)
builder.getInt1(value);- Obtener un entero de 1-bit (booleano true)
builder.getTrue();- Obtener un entero de 1-bit (booleano false)
builder.getFalse();- Obtener un entero de 8-bit
builder.getInt8(value);- Obtener un entero de 16-bit
builder.getInt16(value);- Obtener un entero de 32-bit
builder.getInt32(value);- Obtener un entero de 64-bit
builder.getInt64(value);