@@ -437,7 +437,7 @@ mlir::LogicalResult CIRToLLVMCastOpLowering::matchAndRewrite(
437
437
switch (castOp.getKind ()) {
438
438
case cir::CastKind::array_to_ptrdecay: {
439
439
const auto ptrTy = mlir::cast<cir::PointerType>(castOp.getType ());
440
- mlir::Value sourceValue = adaptor.getOperands (). front ();
440
+ mlir::Value sourceValue = adaptor.getSrc ();
441
441
mlir::Type targetType = convertTy (ptrTy);
442
442
mlir::Type elementTy = convertTypeForMemory (*getTypeConverter (), dataLayout,
443
443
ptrTy.getPointee ());
@@ -447,7 +447,7 @@ mlir::LogicalResult CIRToLLVMCastOpLowering::matchAndRewrite(
447
447
break ;
448
448
}
449
449
case cir::CastKind::int_to_bool: {
450
- mlir::Value llvmSrcVal = adaptor.getOperands (). front ();
450
+ mlir::Value llvmSrcVal = adaptor.getSrc ();
451
451
mlir::Value zeroInt = rewriter.create <mlir::LLVM::ConstantOp>(
452
452
castOp.getLoc (), llvmSrcVal.getType (), 0 );
453
453
rewriter.replaceOpWithNewOp <mlir::LLVM::ICmpOp>(
@@ -457,7 +457,7 @@ mlir::LogicalResult CIRToLLVMCastOpLowering::matchAndRewrite(
457
457
case cir::CastKind::integral: {
458
458
mlir::Type srcType = castOp.getSrc ().getType ();
459
459
mlir::Type dstType = castOp.getType ();
460
- mlir::Value llvmSrcVal = adaptor.getOperands (). front ();
460
+ mlir::Value llvmSrcVal = adaptor.getSrc ();
461
461
mlir::Type llvmDstType = getTypeConverter ()->convertType (dstType);
462
462
cir::IntType srcIntType =
463
463
mlir::cast<cir::IntType>(elementTypeIfVector (srcType));
@@ -470,8 +470,9 @@ mlir::LogicalResult CIRToLLVMCastOpLowering::matchAndRewrite(
470
470
break ;
471
471
}
472
472
case cir::CastKind::floating: {
473
- mlir::Value llvmSrcVal = adaptor.getOperands ().front ();
474
- mlir::Type llvmDstTy = getTypeConverter ()->convertType (castOp.getType ());
473
+ mlir::Value llvmSrcVal = adaptor.getSrc ();
474
+ mlir::Type llvmDstTy =
475
+ getTypeConverter ()->convertType (castOp.getType ());
475
476
476
477
mlir::Type srcTy = elementTypeIfVector (castOp.getSrc ().getType ());
477
478
mlir::Type dstTy = elementTypeIfVector (castOp.getType ());
@@ -494,22 +495,22 @@ mlir::LogicalResult CIRToLLVMCastOpLowering::matchAndRewrite(
494
495
}
495
496
case cir::CastKind::int_to_ptr: {
496
497
auto dstTy = mlir::cast<cir::PointerType>(castOp.getType ());
497
- mlir::Value llvmSrcVal = adaptor.getOperands (). front ();
498
+ mlir::Value llvmSrcVal = adaptor.getSrc ();
498
499
mlir::Type llvmDstTy = getTypeConverter ()->convertType (dstTy);
499
500
rewriter.replaceOpWithNewOp <mlir::LLVM::IntToPtrOp>(castOp, llvmDstTy,
500
501
llvmSrcVal);
501
502
return mlir::success ();
502
503
}
503
504
case cir::CastKind::ptr_to_int: {
504
505
auto dstTy = mlir::cast<cir::IntType>(castOp.getType ());
505
- mlir::Value llvmSrcVal = adaptor.getOperands (). front ();
506
+ mlir::Value llvmSrcVal = adaptor.getSrc ();
506
507
mlir::Type llvmDstTy = getTypeConverter ()->convertType (dstTy);
507
508
rewriter.replaceOpWithNewOp <mlir::LLVM::PtrToIntOp>(castOp, llvmDstTy,
508
509
llvmSrcVal);
509
510
return mlir::success ();
510
511
}
511
512
case cir::CastKind::float_to_bool: {
512
- mlir::Value llvmSrcVal = adaptor.getOperands (). front ();
513
+ mlir::Value llvmSrcVal = adaptor.getSrc ();
513
514
auto kind = mlir::LLVM::FCmpPredicate::une;
514
515
515
516
// Check if float is not equal to zero.
@@ -525,7 +526,7 @@ mlir::LogicalResult CIRToLLVMCastOpLowering::matchAndRewrite(
525
526
}
526
527
case cir::CastKind::bool_to_int: {
527
528
auto dstTy = mlir::cast<cir::IntType>(castOp.getType ());
528
- mlir::Value llvmSrcVal = adaptor.getOperands (). front ();
529
+ mlir::Value llvmSrcVal = adaptor.getSrc ();
529
530
auto llvmSrcTy = mlir::cast<mlir::IntegerType>(llvmSrcVal.getType ());
530
531
auto llvmDstTy =
531
532
mlir::cast<mlir::IntegerType>(getTypeConverter ()->convertType (dstTy));
@@ -539,15 +540,15 @@ mlir::LogicalResult CIRToLLVMCastOpLowering::matchAndRewrite(
539
540
}
540
541
case cir::CastKind::bool_to_float: {
541
542
mlir::Type dstTy = castOp.getType ();
542
- mlir::Value llvmSrcVal = adaptor.getOperands (). front ();
543
+ mlir::Value llvmSrcVal = adaptor.getSrc ();
543
544
mlir::Type llvmDstTy = getTypeConverter ()->convertType (dstTy);
544
545
rewriter.replaceOpWithNewOp <mlir::LLVM::UIToFPOp>(castOp, llvmDstTy,
545
546
llvmSrcVal);
546
547
return mlir::success ();
547
548
}
548
549
case cir::CastKind::int_to_float: {
549
550
mlir::Type dstTy = castOp.getType ();
550
- mlir::Value llvmSrcVal = adaptor.getOperands (). front ();
551
+ mlir::Value llvmSrcVal = adaptor.getSrc ();
551
552
mlir::Type llvmDstTy = getTypeConverter ()->convertType (dstTy);
552
553
if (mlir::cast<cir::IntType>(elementTypeIfVector (castOp.getSrc ().getType ()))
553
554
.isSigned ())
@@ -560,7 +561,7 @@ mlir::LogicalResult CIRToLLVMCastOpLowering::matchAndRewrite(
560
561
}
561
562
case cir::CastKind::float_to_int: {
562
563
mlir::Type dstTy = castOp.getType ();
563
- mlir::Value llvmSrcVal = adaptor.getOperands (). front ();
564
+ mlir::Value llvmSrcVal = adaptor.getSrc ();
564
565
mlir::Type llvmDstTy = getTypeConverter ()->convertType (dstTy);
565
566
if (mlir::cast<cir::IntType>(elementTypeIfVector (castOp.getType ()))
566
567
.isSigned ())
@@ -578,13 +579,13 @@ mlir::LogicalResult CIRToLLVMCastOpLowering::matchAndRewrite(
578
579
assert (!MissingFeatures::cxxABI ());
579
580
assert (!MissingFeatures::dataMemberType ());
580
581
581
- mlir::Value llvmSrcVal = adaptor.getOperands (). front ();
582
+ mlir::Value llvmSrcVal = adaptor.getSrc ();
582
583
rewriter.replaceOpWithNewOp <mlir::LLVM::BitcastOp>(castOp, llvmDstTy,
583
584
llvmSrcVal);
584
585
return mlir::success ();
585
586
}
586
587
case cir::CastKind::ptr_to_bool: {
587
- mlir::Value llvmSrcVal = adaptor.getOperands (). front ();
588
+ mlir::Value llvmSrcVal = adaptor.getSrc ();
588
589
mlir::Value zeroPtr = rewriter.create <mlir::LLVM::ZeroOp>(
589
590
castOp.getLoc (), llvmSrcVal.getType ());
590
591
rewriter.replaceOpWithNewOp <mlir::LLVM::ICmpOp>(
@@ -593,7 +594,7 @@ mlir::LogicalResult CIRToLLVMCastOpLowering::matchAndRewrite(
593
594
}
594
595
case cir::CastKind::address_space: {
595
596
mlir::Type dstTy = castOp.getType ();
596
- mlir::Value llvmSrcVal = adaptor.getOperands (). front ();
597
+ mlir::Value llvmSrcVal = adaptor.getSrc ();
597
598
mlir::Type llvmDstTy = getTypeConverter ()->convertType (dstTy);
598
599
rewriter.replaceOpWithNewOp <mlir::LLVM::AddrSpaceCastOp>(castOp, llvmDstTy,
599
600
llvmSrcVal);
0 commit comments