Literales
#
Enteros#
Obtener un entero de 1-bit (booleano)llvm::ConstantInt* integerConstant = llvm::ConstantInt::get(builder.getInt1Ty(), value, isSigned);
#
Obtener un entero de 8-bitllvm::ConstantInt* integerConstant = llvm::ConstantInt::get(builder.getInt8Ty(), value, isSigned);
#
Obtener un entero de 16-bitllvm::ConstantInt* integerConstant = llvm::ConstantInt::get(builder.getInt16Ty(), value, isSigned);
#
Obtener un entero de 32-bitllvm::ConstantInt* integerConstant = llvm::ConstantInt::get(builder.getInt32Ty(), value, isSigned);
#
Obtener un entero de 64-bitllvm::ConstantInt* integerConstant = llvm::ConstantInt::get(builder.getInt64Ty(), value, isSigned);
#
Flotantes#
Obtener un flotante de 32-bitllvm::ConstantFP* floatingConstant = llvm::ConstantFP::get(builder.getFloatTy(), value);
#
Obtener un flotante de 64-bitllvm::ConstantFP* floatingConstant = llvm::ConstantFP::get(builder.getDoubleTy(), value);
#
Arrays#
Array de enteros de 8-bitstd::vector<uint8_t> data;llvm::Constant* arrayConstant = llvm::ConstantDataArray::get(context, data);
#
Array de enteros de 16-bitstd::vector<uint16_t> data;llvm::Constant* arrayConstant = llvm::ConstantDataArray::get(context, data);
#
Array de enteros de 32-bitstd::vector<uint32_t> data;llvm::Constant* arrayConstant = llvm::ConstantDataArray::get(context, data);
#
Array de enteros de 64-bitstd::vector<uint64_t> data;llvm::Constant* arrayConstant = llvm::ConstantDataArray::get(context, data);
#
Array de flotantes de 32-bitstd::vector<float> data;llvm::Constant* arrayConstant = llvm::ConstantDataArray::get(context, data);
#
Array de flotantes de 64-bitstd::vector<double> data;llvm::Constant* arrayConstant = llvm::ConstantDataArray::get(context, data);
#
Array de caracteresbool 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);