@@ -352,16 +352,13 @@ register(ConstantVector, API.LLVMConstantVectorValueKind)
352352export ConstantExpr,
353353
354354 const_neg, const_nswneg, const_nuwneg, const_fneg, const_not, const_add,
355- const_nswadd, const_nuwadd, const_fadd, const_sub, const_nswsub, const_nuwsub,
356- const_fsub, const_mul, const_nswmul, const_nuwmul, const_fmul, const_udiv,
357- const_sdiv, const_fdiv, const_urem, const_srem, const_frem, const_and, const_or,
358- const_xor, const_icmp, const_fcmp, const_shl, const_lshr, const_ashr, const_gep,
359- const_inbounds_gep, const_trunc, const_sext, const_zext, const_fptrunc, const_fpext,
360- const_uitofp, const_sitofp, const_fptoui, const_fptosi, const_ptrtoint,
361- const_inttoptr, const_bitcast, const_addrspacecast, const_zextorbitcast,
362- const_sextorbitcast, const_truncorbitcast, const_pointercast, const_intcast,
363- const_fpcast, const_select, const_extractelement, const_insertelement,
364- const_shufflevector, const_extractvalue, const_insertvalue
355+ const_nswadd, const_nuwadd, const_sub, const_nswsub, const_nuwsub, const_mul,
356+ const_nswmul, const_nuwmul, const_and, const_or, const_xor, const_icmp, const_fcmp,
357+ const_shl, const_lshr, const_ashr, const_gep, const_inbounds_gep, const_trunc,
358+ const_sext, const_zext, const_fptrunc, const_fpext, const_uitofp, const_sitofp,
359+ const_fptoui, const_fptosi, const_ptrtoint, const_inttoptr, const_bitcast,
360+ const_addrspacecast, const_zextorbitcast, const_sextorbitcast, const_truncorbitcast,
361+ const_pointercast, const_intcast, const_fpcast, const_select, const_shufflevector
365362
366363@checked struct ConstantExpr <: Constant
367364 ref:: API.LLVMValueRef
@@ -394,9 +391,6 @@ const_nswadd(lhs::Constant, rhs::Constant) =
394391const_nuwadd (lhs:: Constant , rhs:: Constant ) =
395392 Value (API. LLVMConstNUWAdd (lhs, rhs))
396393
397- const_fadd (lhs:: Constant , rhs:: Constant ) =
398- Value (API. LLVMConstFAdd (lhs, rhs))
399-
400394const_sub (lhs:: Constant , rhs:: Constant ) =
401395 Value (API. LLVMConstSub (lhs, rhs))
402396
@@ -406,9 +400,6 @@ const_nswsub(lhs::Constant, rhs::Constant) =
406400const_nuwsub (lhs:: Constant , rhs:: Constant ) =
407401 Value (API. LLVMConstNUWSub (lhs, rhs))
408402
409- const_fsub (lhs:: Constant , rhs:: Constant ) =
410- Value (API. LLVMConstFSub (lhs, rhs))
411-
412403const_mul (lhs:: Constant , rhs:: Constant ) =
413404 Value (API. LLVMConstMul (lhs, rhs))
414405
@@ -418,27 +409,6 @@ const_nswmul(lhs::Constant, rhs::Constant) =
418409const_nuwmul (lhs:: Constant , rhs:: Constant ) =
419410 Value (API. LLVMConstNUWMul (lhs, rhs))
420411
421- const_fmul (lhs:: Constant , rhs:: Constant ) =
422- Value (API. LLVMConstFMul (lhs, rhs))
423-
424- const_udiv (lhs:: Constant , rhs:: Constant ; exact:: Base.Bool = false ) =
425- Value (exact ? API. LLVMConstExactUDiv (lhs, rhs) : API. LLVMConstUDiv (lhs, rhs))
426-
427- const_sdiv (lhs:: Constant , rhs:: Constant ; exact:: Base.Bool = false ) =
428- Value (exact ? API. LLVMConstExactSDiv (lhs, rhs) : API. LLVMConstSDiv (lhs, rhs))
429-
430- const_fdiv (lhs:: Constant , rhs:: Constant ) =
431- Value (API. LLVMConstFDiv (lhs, rhs))
432-
433- const_urem (lhs:: Constant , rhs:: Constant ) =
434- Value (API. LLVMConstURem (lhs, rhs))
435-
436- const_srem (lhs:: Constant , rhs:: Constant ) =
437- Value (API. LLVMConstSRem (lhs, rhs))
438-
439- const_frem (lhs:: Constant , rhs:: Constant ) =
440- Value (API. LLVMConstFRem (lhs, rhs))
441-
442412const_and (lhs:: Constant , rhs:: Constant ) =
443413 Value (API. LLVMConstAnd (lhs, rhs))
444414
@@ -552,12 +522,46 @@ const_insertelement(vector::Constant, element::Value, index::Constant) =
552522const_shufflevector (vector1:: Constant , vector2:: Constant , mask:: Constant ) =
553523 Value (API. LLVMConstShuffleVector (vector1, vector2, mask))
554524
525+ if version () < v " 15"
526+
527+ export const_extractelement, const_insertelement, const_udiv, const_sdiv, const_fdiv,
528+ const_urem, const_srem, const_frem, const_fadd, const_fsub, const_fmul
529+
555530const_extractvalue (agg:: Constant , Idx:: Vector{<:Integer} ) =
556531 Value (API. LLVMConstExtractValue (agg, Idx, length (Idx)))
557532
558533const_insertvalue (agg:: Constant , element:: Constant , Idx:: Vector{<:Integer} ) =
559534 Value (API. LLVMConstInsertValue (agg, element, Idx, length (Idx)))
560535
536+ const_udiv (lhs:: Constant , rhs:: Constant ; exact:: Base.Bool = false ) =
537+ Value (exact ? API. LLVMConstExactUDiv (lhs, rhs) : API. LLVMConstUDiv (lhs, rhs))
538+
539+ const_sdiv (lhs:: Constant , rhs:: Constant ; exact:: Base.Bool = false ) =
540+ Value (exact ? API. LLVMConstExactSDiv (lhs, rhs) : API. LLVMConstSDiv (lhs, rhs))
541+
542+ const_fdiv (lhs:: Constant , rhs:: Constant ) =
543+ Value (API. LLVMConstFDiv (lhs, rhs))
544+
545+ const_urem (lhs:: Constant , rhs:: Constant ) =
546+ Value (API. LLVMConstURem (lhs, rhs))
547+
548+ const_srem (lhs:: Constant , rhs:: Constant ) =
549+ Value (API. LLVMConstSRem (lhs, rhs))
550+
551+ const_frem (lhs:: Constant , rhs:: Constant ) =
552+ Value (API. LLVMConstFRem (lhs, rhs))
553+
554+ const_fadd (lhs:: Constant , rhs:: Constant ) =
555+ Value (API. LLVMConstFAdd (lhs, rhs))
556+
557+ const_fsub (lhs:: Constant , rhs:: Constant ) =
558+ Value (API. LLVMConstFSub (lhs, rhs))
559+
560+ const_fmul (lhs:: Constant , rhs:: Constant ) =
561+ Value (API. LLVMConstFMul (lhs, rhs))
562+
563+ end
564+
561565# TODO : alignof, sizeof, block_address
562566
563567
0 commit comments