LLVM API Documentation

Functions
Scalar constants
Constants
Collaboration diagram for Scalar constants:

Functions

LLVMValueRef LLVMConstInt (LLVMTypeRef IntTy, unsigned long long N, LLVMBool SignExtend)
LLVMValueRef LLVMConstIntOfArbitraryPrecision (LLVMTypeRef IntTy, unsigned NumWords, const uint64_t Words[])
LLVMValueRef LLVMConstIntOfString (LLVMTypeRef IntTy, const char *Text, uint8_t Radix)
LLVMValueRef LLVMConstIntOfStringAndSize (LLVMTypeRef IntTy, const char *Text, unsigned SLen, uint8_t Radix)
LLVMValueRef LLVMConstReal (LLVMTypeRef RealTy, double N)
LLVMValueRef LLVMConstRealOfString (LLVMTypeRef RealTy, const char *Text)
LLVMValueRef LLVMConstRealOfStringAndSize (LLVMTypeRef RealTy, const char *Text, unsigned SLen)
unsigned long long LLVMConstIntGetZExtValue (LLVMValueRef ConstantVal)
long long LLVMConstIntGetSExtValue (LLVMValueRef ConstantVal)
double LLVMConstRealGetDouble (LLVMValueRef ConstantVal, LLVMBool *losesInfo)

Detailed Description

Functions in this group model LLVMValueRef instances that correspond to constants referring to scalar types.

For integer types, the LLVMTypeRef parameter should correspond to a llvm::IntegerType instance and the returned LLVMValueRef will correspond to a llvm::ConstantInt.

For floating point types, the LLVMTypeRef returned corresponds to a llvm::ConstantFP.


Function Documentation

LLVMValueRef LLVMConstInt ( LLVMTypeRef  IntTy,
unsigned long long  N,
LLVMBool  SignExtend 
)

Obtain a constant value for an integer type.

The returned value corresponds to a llvm::ConstantInt.

See also:
llvm::ConstantInt::get()
Parameters:
IntTyInteger type to obtain value of.
NThe value the returned instance should refer to.
SignExtendWhether to sign extend the produced value.

Definition at line 803 of file Core.cpp.

References llvm::ConstantInt::get(), and llvm::wrap().

long long LLVMConstIntGetSExtValue ( LLVMValueRef  ConstantVal)

Obtain the sign extended value for an integer constant value.

See also:
llvm::ConstantInt::getSExtValue()

Definition at line 846 of file Core.cpp.

unsigned long long LLVMConstIntGetZExtValue ( LLVMValueRef  ConstantVal)

Obtain the zero extended value for an integer constant value.

See also:
llvm::ConstantInt::getZExtValue()

Definition at line 842 of file Core.cpp.

LLVMValueRef LLVMConstIntOfArbitraryPrecision ( LLVMTypeRef  IntTy,
unsigned  NumWords,
const uint64_t  Words[] 
)

Obtain a constant value for an integer of arbitrary precision.

See also:
llvm::ConstantInt::get()

Definition at line 808 of file Core.cpp.

References llvm::ConstantInt::get(), llvm::IntegerType::getBitWidth(), llvm::Type::getContext(), llvm::makeArrayRef(), and llvm::wrap().

LLVMValueRef LLVMConstIntOfString ( LLVMTypeRef  IntTy,
const char *  Text,
uint8_t  Radix 
)

Obtain a constant value for an integer parsed from a string.

A similar API, LLVMConstIntOfStringAndSize is also available. If the string's length is available, it is preferred to call that function instead.

See also:
llvm::ConstantInt::get()
LLVMValueRef LLVMConstIntOfStringAndSize ( LLVMTypeRef  IntTy,
const char *  Text,
unsigned  SLen,
uint8_t  Radix 
)

Obtain a constant value for an integer parsed from a string with specified length.

See also:
llvm::ConstantInt::get()
LLVMValueRef LLVMConstReal ( LLVMTypeRef  RealTy,
double  N 
)

Obtain a constant value referring to a double floating point value.

Definition at line 829 of file Core.cpp.

References llvm::ConstantFP::get(), llvm::unwrap(), and llvm::wrap().

double LLVMConstRealGetDouble ( LLVMValueRef  ConstantVal,
LLVMBool losesInfo 
)

Obtain the double value for an floating point constant value. losesInfo indicates if some precision was lost in the conversion.

See also:
llvm::ConstantFP::getDoubleValue

Definition at line 850 of file Core.cpp.

References llvm::APFloat::convert(), llvm::APFloat::convertToDouble(), llvm::APFloat::convertToFloat(), llvm::Value::getType(), llvm::ConstantFP::getValueAPF(), llvm::APFloat::IEEEdouble, and llvm::APFloat::rmNearestTiesToEven.

LLVMValueRef LLVMConstRealOfString ( LLVMTypeRef  RealTy,
const char *  Text 
)

Obtain a constant for a floating point value parsed from a string.

A similar API, LLVMConstRealOfStringAndSize is also available. It should be used if the input string's length is known.

Definition at line 833 of file Core.cpp.

References llvm::ConstantFP::get(), llvm::unwrap(), and llvm::wrap().

LLVMValueRef LLVMConstRealOfStringAndSize ( LLVMTypeRef  RealTy,
const char *  Text,
unsigned  SLen 
)

Obtain a constant for a floating point value parsed from a string.