@@ -417,8 +417,7 @@ mlir::LogicalResult CIRToLLVMCastOpLowering::matchAndRewrite(
417
417
case cir::CastKind::int_to_bool: {
418
418
mlir::Value llvmSrcVal = adaptor.getOperands ().front ();
419
419
mlir::Value zeroInt = rewriter.create <mlir::LLVM::ConstantOp>(
420
- castOp.getLoc (), llvmSrcVal.getType (),
421
- mlir::IntegerAttr::get (llvmSrcVal.getType (), 0 ));
420
+ castOp.getLoc (), llvmSrcVal.getType (), 0 );
422
421
rewriter.replaceOpWithNewOp <mlir::LLVM::ICmpOp>(
423
422
castOp, mlir::LLVM::ICmpPredicate::ne, llvmSrcVal, zeroInt);
424
423
break ;
@@ -630,9 +629,8 @@ mlir::LogicalResult CIRToLLVMPtrStrideOpLowering::matchAndRewrite(
630
629
if (rewriteSub) {
631
630
index = rewriter.create <mlir::LLVM::SubOp>(
632
631
index .getLoc (), index .getType (),
633
- rewriter.create <mlir::LLVM::ConstantOp>(
634
- index .getLoc (), index .getType (),
635
- mlir::IntegerAttr::get (index .getType (), 0 )),
632
+ rewriter.create <mlir::LLVM::ConstantOp>(index .getLoc (),
633
+ index .getType (), 0 ),
636
634
index );
637
635
rewriter.eraseOp (sub);
638
636
}
@@ -648,8 +646,7 @@ mlir::LogicalResult CIRToLLVMAllocaOpLowering::matchAndRewrite(
648
646
mlir::ConversionPatternRewriter &rewriter) const {
649
647
assert (!cir::MissingFeatures::opAllocaDynAllocSize ());
650
648
mlir::Value size = rewriter.create <mlir::LLVM::ConstantOp>(
651
- op.getLoc (), typeConverter->convertType (rewriter.getIndexType ()),
652
- rewriter.getIntegerAttr (rewriter.getIndexType (), 1 ));
649
+ op.getLoc (), typeConverter->convertType (rewriter.getIndexType ()), 1 );
653
650
mlir::Type elementTy =
654
651
convertTypeForMemory (*getTypeConverter (), dataLayout, op.getAllocaType ());
655
652
mlir::Type resultTy = convertTypeForMemory (*getTypeConverter (), dataLayout,
@@ -1111,18 +1108,16 @@ mlir::LogicalResult CIRToLLVMUnaryOpLowering::matchAndRewrite(
1111
1108
switch (op.getKind ()) {
1112
1109
case cir::UnaryOpKind::Inc: {
1113
1110
assert (!isVector && " ++ not allowed on vector types" );
1114
- mlir::LLVM::ConstantOp one = rewriter.create <mlir::LLVM::ConstantOp>(
1115
- loc, llvmType, mlir::IntegerAttr::get (llvmType, 1 ));
1111
+ auto one = rewriter.create <mlir::LLVM::ConstantOp>(loc, llvmType, 1 );
1116
1112
rewriter.replaceOpWithNewOp <mlir::LLVM::AddOp>(
1117
1113
op, llvmType, adaptor.getInput (), one, maybeNSW);
1118
1114
return mlir::success ();
1119
1115
}
1120
1116
case cir::UnaryOpKind::Dec: {
1121
1117
assert (!isVector && " -- not allowed on vector types" );
1122
- mlir::LLVM::ConstantOp one = rewriter.create <mlir::LLVM::ConstantOp>(
1123
- loc, llvmType, mlir::IntegerAttr::get (llvmType, 1 ));
1124
- rewriter.replaceOpWithNewOp <mlir::LLVM::SubOp>(
1125
- op, llvmType, adaptor.getInput (), one, maybeNSW);
1118
+ auto one = rewriter.create <mlir::LLVM::ConstantOp>(loc, llvmType, 1 );
1119
+ rewriter.replaceOpWithNewOp <mlir::LLVM::SubOp>(op, adaptor.getInput (),
1120
+ one, maybeNSW);
1126
1121
return mlir::success ();
1127
1122
}
1128
1123
case cir::UnaryOpKind::Plus:
@@ -1133,10 +1128,9 @@ mlir::LogicalResult CIRToLLVMUnaryOpLowering::matchAndRewrite(
1133
1128
if (isVector)
1134
1129
zero = rewriter.create <mlir::LLVM::ZeroOp>(loc, llvmType);
1135
1130
else
1136
- zero = rewriter.create <mlir::LLVM::ConstantOp>(
1137
- loc, llvmType, mlir::IntegerAttr::get (llvmType, 0 ));
1131
+ zero = rewriter.create <mlir::LLVM::ConstantOp>(loc, llvmType, 0 );
1138
1132
rewriter.replaceOpWithNewOp <mlir::LLVM::SubOp>(
1139
- op, llvmType, zero, adaptor.getInput (), maybeNSW);
1133
+ op, zero, adaptor.getInput (), maybeNSW);
1140
1134
return mlir::success ();
1141
1135
}
1142
1136
case cir::UnaryOpKind::Not: {
@@ -1150,11 +1144,10 @@ mlir::LogicalResult CIRToLLVMUnaryOpLowering::matchAndRewrite(
1150
1144
minusOne =
1151
1145
rewriter.create <mlir::LLVM::ConstantOp>(loc, llvmType, denseVec);
1152
1146
} else {
1153
- minusOne = rewriter.create <mlir::LLVM::ConstantOp>(
1154
- loc, llvmType, mlir::IntegerAttr::get (llvmType, -1 ));
1147
+ minusOne = rewriter.create <mlir::LLVM::ConstantOp>(loc, llvmType, -1 );
1155
1148
}
1156
- rewriter.replaceOpWithNewOp <mlir::LLVM::XOrOp>(
1157
- op, llvmType, adaptor. getInput (), minusOne);
1149
+ rewriter.replaceOpWithNewOp <mlir::LLVM::XOrOp>(op, adaptor. getInput (),
1150
+ minusOne);
1158
1151
return mlir::success ();
1159
1152
}
1160
1153
}
@@ -1206,10 +1199,9 @@ mlir::LogicalResult CIRToLLVMUnaryOpLowering::matchAndRewrite(
1206
1199
return op.emitError () << " Unsupported unary operation on boolean type" ;
1207
1200
case cir::UnaryOpKind::Not: {
1208
1201
assert (!isVector && " NYI: op! on vector mask" );
1209
- mlir::LLVM::ConstantOp one = rewriter.create <mlir::LLVM::ConstantOp>(
1210
- loc, llvmType, rewriter.getIntegerAttr (llvmType, 1 ));
1211
- rewriter.replaceOpWithNewOp <mlir::LLVM::XOrOp>(op, llvmType,
1212
- adaptor.getInput (), one);
1202
+ auto one = rewriter.create <mlir::LLVM::ConstantOp>(loc, llvmType, 1 );
1203
+ rewriter.replaceOpWithNewOp <mlir::LLVM::XOrOp>(op, adaptor.getInput (),
1204
+ one);
1213
1205
return mlir::success ();
1214
1206
}
1215
1207
}
0 commit comments