mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-11-01 00:17:01 +00:00
Avoid conversion to float when creating ConstantDataArray/ConstantDataVector.
Patch by Raoux, Thomas F! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@229864 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -676,6 +676,15 @@ public:
|
||||
static Constant *get(LLVMContext &Context, ArrayRef<float> Elts);
|
||||
static Constant *get(LLVMContext &Context, ArrayRef<double> Elts);
|
||||
|
||||
/// getFP() constructors - Return a constant with array type with an element
|
||||
/// count and element type of float with precision matching the number of
|
||||
/// bits in the ArrayRef passed in. (i.e. half for 16bits, float for 32bits,
|
||||
/// double for 64bits) Note that this can return a ConstantAggregateZero
|
||||
/// object.
|
||||
static Constant *getFP(LLVMContext &Context, ArrayRef<uint16_t> Elts);
|
||||
static Constant *getFP(LLVMContext &Context, ArrayRef<uint32_t> Elts);
|
||||
static Constant *getFP(LLVMContext &Context, ArrayRef<uint64_t> Elts);
|
||||
|
||||
/// getString - This method constructs a CDS and initializes it with a text
|
||||
/// string. The default behavior (AddNull==true) causes a null terminator to
|
||||
/// be placed at the end of the array (increasing the length of the string by
|
||||
@@ -728,6 +737,15 @@ public:
|
||||
static Constant *get(LLVMContext &Context, ArrayRef<float> Elts);
|
||||
static Constant *get(LLVMContext &Context, ArrayRef<double> Elts);
|
||||
|
||||
/// getFP() constructors - Return a constant with vector type with an element
|
||||
/// count and element type of float with the precision matching the number of
|
||||
/// bits in the ArrayRef passed in. (i.e. half for 16bits, float for 32bits,
|
||||
/// double for 64bits) Note that this can return a ConstantAggregateZero
|
||||
/// object.
|
||||
static Constant *getFP(LLVMContext &Context, ArrayRef<uint16_t> Elts);
|
||||
static Constant *getFP(LLVMContext &Context, ArrayRef<uint32_t> Elts);
|
||||
static Constant *getFP(LLVMContext &Context, ArrayRef<uint64_t> Elts);
|
||||
|
||||
/// getSplat - Return a ConstantVector with the specified constant in each
|
||||
/// element. The specified constant has to be a of a compatible type (i8/i16/
|
||||
/// i32/i64/float/double) and must be a ConstantFP or ConstantInt.
|
||||
|
||||
Reference in New Issue
Block a user