@@ -352,16 +352,13 @@ register(ConstantVector, API.LLVMConstantVectorValueKind)
352
352
export ConstantExpr,
353
353
354
354
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
365
362
366
363
@checked struct ConstantExpr <: Constant
367
364
ref:: API.LLVMValueRef
@@ -394,9 +391,6 @@ const_nswadd(lhs::Constant, rhs::Constant) =
394
391
const_nuwadd (lhs:: Constant , rhs:: Constant ) =
395
392
Value (API. LLVMConstNUWAdd (lhs, rhs))
396
393
397
- const_fadd (lhs:: Constant , rhs:: Constant ) =
398
- Value (API. LLVMConstFAdd (lhs, rhs))
399
-
400
394
const_sub (lhs:: Constant , rhs:: Constant ) =
401
395
Value (API. LLVMConstSub (lhs, rhs))
402
396
@@ -406,9 +400,6 @@ const_nswsub(lhs::Constant, rhs::Constant) =
406
400
const_nuwsub (lhs:: Constant , rhs:: Constant ) =
407
401
Value (API. LLVMConstNUWSub (lhs, rhs))
408
402
409
- const_fsub (lhs:: Constant , rhs:: Constant ) =
410
- Value (API. LLVMConstFSub (lhs, rhs))
411
-
412
403
const_mul (lhs:: Constant , rhs:: Constant ) =
413
404
Value (API. LLVMConstMul (lhs, rhs))
414
405
@@ -418,27 +409,6 @@ const_nswmul(lhs::Constant, rhs::Constant) =
418
409
const_nuwmul (lhs:: Constant , rhs:: Constant ) =
419
410
Value (API. LLVMConstNUWMul (lhs, rhs))
420
411
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
-
442
412
const_and (lhs:: Constant , rhs:: Constant ) =
443
413
Value (API. LLVMConstAnd (lhs, rhs))
444
414
@@ -552,12 +522,46 @@ const_insertelement(vector::Constant, element::Value, index::Constant) =
552
522
const_shufflevector (vector1:: Constant , vector2:: Constant , mask:: Constant ) =
553
523
Value (API. LLVMConstShuffleVector (vector1, vector2, mask))
554
524
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
+
555
530
const_extractvalue (agg:: Constant , Idx:: Vector{<:Integer} ) =
556
531
Value (API. LLVMConstExtractValue (agg, Idx, length (Idx)))
557
532
558
533
const_insertvalue (agg:: Constant , element:: Constant , Idx:: Vector{<:Integer} ) =
559
534
Value (API. LLVMConstInsertValue (agg, element, Idx, length (Idx)))
560
535
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
+
561
565
# TODO : alignof, sizeof, block_address
562
566
563
567
0 commit comments