Skip to content

Commit f71fdaf

Browse files
committed
Switch ConstantArray arguments around, for consistency.
1 parent b93434c commit f71fdaf

File tree

1 file changed

+9
-10
lines changed

1 file changed

+9
-10
lines changed

src/core/value/constant.jl

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -133,36 +133,35 @@ identify(::Type{Value}, ::Val{API.LLVMConstantDataArrayValueKind}) = ConstantArr
133133
ConstantArrayOrAggregateZero(value) = Value(value)::Union{ConstantArray,ConstantAggregateZero}
134134

135135
# generic constructor taking an array of constants
136-
function ConstantArray(data::AbstractArray{<:Constant,N},
137-
typ::LLVMType=llvmtype(first(data))) where {N}
136+
function ConstantArray(typ::LLVMType, data::AbstractArray{T,N}=T[]) where {T<:Constant,N}
138137
@assert all(x->x==typ, llvmtype.(data))
139138

140139
if N == 1
141140
return ConstantArrayOrAggregateZero(API.LLVMConstArray(typ, Array(data), length(data)))
142141
end
143142

144143
if VERSION >= v"1.1"
145-
ca_vec = map(x->ConstantArray(x, typ), eachslice(data, dims=1))
144+
ca_vec = map(x->ConstantArray(typ, x), eachslice(data, dims=1))
146145
else
147-
ca_vec = map(x->ConstantArray(x, typ), (view(data, i, ntuple(d->(:), N-1)...) for i in axes(data, 1)))
146+
ca_vec = map(x->ConstantArray(typ, x), (view(data, i, ntuple(d->(:), N-1)...) for i in axes(data, 1)))
148147
end
149148
ca_typ = llvmtype(first(ca_vec))
150149

151150
return ConstantArray(API.LLVMConstArray(ca_typ, ca_vec, length(ca_vec)))
152151
end
153152

154153
# shorthands with arrays of plain Julia data
155-
# FIXME: duplicates the ConstantInt/ConstantFP conversion rules (to support empty arrays)
154+
# FIXME: duplicates the ConstantInt/ConstantFP conversion rules
156155
ConstantArray(data::AbstractArray{T,N}, ctx::Context=GlobalContext()) where {T<:Integer,N} =
157-
ConstantArray(ConstantInt.(data, Ref(ctx)), IntType(sizeof(T)*8, ctx))
156+
ConstantArray(IntType(sizeof(T)*8, ctx), ConstantInt.(data, Ref(ctx)))
158157
ConstantArray(data::AbstractArray{Core.Bool,N}, ctx::Context=GlobalContext()) where {N} =
159-
ConstantArray(ConstantInt.(data, Ref(ctx)), Int1Type(ctx))
158+
ConstantArray(Int1Type(ctx), ConstantInt.(data, Ref(ctx)))
160159
ConstantArray(data::AbstractArray{Float16,N}, ctx::Context=GlobalContext()) where {N} =
161-
ConstantArray(ConstantFP.(data, Ref(ctx)), HalfType(ctx))
160+
ConstantArray(HalfType(ctx), ConstantFP.(data, Ref(ctx)))
162161
ConstantArray(data::AbstractArray{Float32,N}, ctx::Context=GlobalContext()) where {N} =
163-
ConstantArray(ConstantFP.(data, Ref(ctx)), FloatType(ctx))
162+
ConstantArray(FloatType(ctx), ConstantFP.(data, Ref(ctx)))
164163
ConstantArray(data::AbstractArray{Float64,N}, ctx::Context=GlobalContext()) where {N} =
165-
ConstantArray(ConstantFP.(data, Ref(ctx)), DoubleType(ctx))
164+
ConstantArray(DoubleType(ctx), ConstantFP.(data, Ref(ctx)))
166165

167166
# convert back to known array types
168167
function Base.collect(ca::ConstantArray)

0 commit comments

Comments
 (0)