@@ -1330,34 +1330,6 @@ class CIRVectorCreateLowering
1330
1330
}
1331
1331
};
1332
1332
1333
- class CIRVectorInsertLowering
1334
- : public mlir::OpConversionPattern<mlir::cir::VecInsertOp> {
1335
- public:
1336
- using OpConversionPattern<mlir::cir::VecInsertOp>::OpConversionPattern;
1337
-
1338
- mlir::LogicalResult
1339
- matchAndRewrite (mlir::cir::VecInsertOp op, OpAdaptor adaptor,
1340
- mlir::ConversionPatternRewriter &rewriter) const override {
1341
- rewriter.replaceOpWithNewOp <mlir::LLVM::InsertElementOp>(
1342
- op, adaptor.getVec (), adaptor.getValue (), adaptor.getIndex ());
1343
- return mlir::success ();
1344
- }
1345
- };
1346
-
1347
- class CIRVectorExtractLowering
1348
- : public mlir::OpConversionPattern<mlir::cir::VecExtractOp> {
1349
- public:
1350
- using OpConversionPattern<mlir::cir::VecExtractOp>::OpConversionPattern;
1351
-
1352
- mlir::LogicalResult
1353
- matchAndRewrite (mlir::cir::VecExtractOp op, OpAdaptor adaptor,
1354
- mlir::ConversionPatternRewriter &rewriter) const override {
1355
- rewriter.replaceOpWithNewOp <mlir::LLVM::ExtractElementOp>(
1356
- op, adaptor.getVec (), adaptor.getIndex ());
1357
- return mlir::success ();
1358
- }
1359
- };
1360
-
1361
1333
class CIRVectorCmpOpLowering
1362
1334
: public mlir::OpConversionPattern<mlir::cir::VecCmpOp> {
1363
1335
public:
@@ -3154,19 +3126,6 @@ class CIRPtrDiffOpLowering
3154
3126
}
3155
3127
};
3156
3128
3157
- class CIRFAbsOpLowering : public mlir ::OpConversionPattern<mlir::cir::FAbsOp> {
3158
- public:
3159
- using OpConversionPattern<mlir::cir::FAbsOp>::OpConversionPattern;
3160
-
3161
- mlir::LogicalResult
3162
- matchAndRewrite (mlir::cir::FAbsOp op, OpAdaptor adaptor,
3163
- mlir::ConversionPatternRewriter &rewriter) const override {
3164
- rewriter.replaceOpWithNewOp <mlir::LLVM::FAbsOp>(
3165
- op, adaptor.getOperands ().front ());
3166
- return mlir::success ();
3167
- }
3168
- };
3169
-
3170
3129
class CIRExpectOpLowering
3171
3130
: public mlir::OpConversionPattern<mlir::cir::ExpectOp> {
3172
3131
public:
@@ -3246,19 +3205,8 @@ class CIRStackSaveLowering
3246
3205
}
3247
3206
};
3248
3207
3249
- class CIRStackRestoreLowering
3250
- : public mlir::OpConversionPattern<mlir::cir::StackRestoreOp> {
3251
- public:
3252
- using OpConversionPattern<mlir::cir::StackRestoreOp>::OpConversionPattern;
3253
-
3254
- mlir::LogicalResult
3255
- matchAndRewrite (mlir::cir::StackRestoreOp op, OpAdaptor adaptor,
3256
- mlir::ConversionPatternRewriter &rewriter) const override {
3257
- rewriter.replaceOpWithNewOp <mlir::LLVM::StackRestoreOp>(op,
3258
- adaptor.getPtr ());
3259
- return mlir::success ();
3260
- }
3261
- };
3208
+ #define GET_BUILTIN_LOWERING_CLASSES
3209
+ #include " clang/CIR/Dialect/IR/CIRBuiltinsLowering.inc"
3262
3210
3263
3211
class CIRUnreachableLowering
3264
3212
: public mlir::OpConversionPattern<mlir::cir::UnreachableOp> {
@@ -3601,38 +3549,6 @@ class CIRUnaryFPBuiltinOpLowering : public mlir::OpConversionPattern<CIROp> {
3601
3549
}
3602
3550
};
3603
3551
3604
- using CIRCeilOpLowering =
3605
- CIRUnaryFPBuiltinOpLowering<mlir::cir::CeilOp, mlir::LLVM::FCeilOp>;
3606
- using CIRCosOpLowering =
3607
- CIRUnaryFPBuiltinOpLowering<mlir::cir::CosOp, mlir::LLVM::CosOp>;
3608
- using CIRExpOpLowering =
3609
- CIRUnaryFPBuiltinOpLowering<mlir::cir::ExpOp, mlir::LLVM::ExpOp>;
3610
- using CIRExp2OpLowering =
3611
- CIRUnaryFPBuiltinOpLowering<mlir::cir::Exp2Op, mlir::LLVM::Exp2Op>;
3612
- using CIRFloorOpLowering =
3613
- CIRUnaryFPBuiltinOpLowering<mlir::cir::FloorOp, mlir::LLVM::FFloorOp>;
3614
- using CIRFabsOpLowering =
3615
- CIRUnaryFPBuiltinOpLowering<mlir::cir::FAbsOp, mlir::LLVM::FAbsOp>;
3616
- using CIRLogOpLowering =
3617
- CIRUnaryFPBuiltinOpLowering<mlir::cir::LogOp, mlir::LLVM::LogOp>;
3618
- using CIRLog10OpLowering =
3619
- CIRUnaryFPBuiltinOpLowering<mlir::cir::Log10Op, mlir::LLVM::Log10Op>;
3620
- using CIRLog2OpLowering =
3621
- CIRUnaryFPBuiltinOpLowering<mlir::cir::Log2Op, mlir::LLVM::Log2Op>;
3622
- using CIRNearbyintOpLowering =
3623
- CIRUnaryFPBuiltinOpLowering<mlir::cir::NearbyintOp,
3624
- mlir::LLVM::NearbyintOp>;
3625
- using CIRRintOpLowering =
3626
- CIRUnaryFPBuiltinOpLowering<mlir::cir::RintOp, mlir::LLVM::RintOp>;
3627
- using CIRRoundOpLowering =
3628
- CIRUnaryFPBuiltinOpLowering<mlir::cir::RoundOp, mlir::LLVM::RoundOp>;
3629
- using CIRSinOpLowering =
3630
- CIRUnaryFPBuiltinOpLowering<mlir::cir::SinOp, mlir::LLVM::SinOp>;
3631
- using CIRSqrtOpLowering =
3632
- CIRUnaryFPBuiltinOpLowering<mlir::cir::SqrtOp, mlir::LLVM::SqrtOp>;
3633
- using CIRTruncOpLowering =
3634
- CIRUnaryFPBuiltinOpLowering<mlir::cir::TruncOp, mlir::LLVM::FTruncOp>;
3635
-
3636
3552
using CIRLroundOpLowering =
3637
3553
CIRUnaryFPBuiltinOpLowering<mlir::cir::LroundOp, mlir::LLVM::LroundOp>;
3638
3554
using CIRLLroundOpLowering =
@@ -3906,23 +3822,21 @@ void populateCIRToLLVMConversionPatterns(mlir::RewritePatternSet &patterns,
3906
3822
CIRSwitchFlatOpLowering, CIRPtrDiffOpLowering, CIRCopyOpLowering,
3907
3823
CIRMemCpyOpLowering, CIRFAbsOpLowering, CIRExpectOpLowering,
3908
3824
CIRVTableAddrPointOpLowering, CIRVectorCreateLowering,
3909
- CIRVectorInsertLowering, CIRVectorExtractLowering, CIRVectorCmpOpLowering,
3910
- CIRVectorSplatLowering, CIRVectorTernaryLowering,
3825
+ CIRVectorCmpOpLowering, CIRVectorSplatLowering, CIRVectorTernaryLowering,
3911
3826
CIRVectorShuffleIntsLowering, CIRVectorShuffleVecLowering,
3912
- CIRStackSaveLowering, CIRStackRestoreLowering, CIRUnreachableLowering,
3913
- CIRTrapLowering, CIRInlineAsmOpLowering, CIRSetBitfieldLowering,
3914
- CIRGetBitfieldLowering, CIRPrefetchLowering, CIRObjSizeOpLowering,
3915
- CIRIsConstantOpLowering, CIRCmpThreeWayOpLowering, CIRLroundOpLowering,
3916
- CIRLLroundOpLowering, CIRLrintOpLowering, CIRLLrintOpLowering,
3917
- CIRCeilOpLowering, CIRCosOpLowering, CIRExpOpLowering, CIRExp2OpLowering,
3918
- CIRFloorOpLowering, CIRFAbsOpLowering, CIRLogOpLowering,
3919
- CIRLog10OpLowering, CIRLog2OpLowering, CIRNearbyintOpLowering,
3920
- CIRRintOpLowering, CIRRoundOpLowering, CIRSinOpLowering,
3921
- CIRSqrtOpLowering, CIRTruncOpLowering, CIRCopysignOpLowering,
3827
+ CIRStackSaveLowering, CIRUnreachableLowering, CIRTrapLowering,
3828
+ CIRInlineAsmOpLowering, CIRSetBitfieldLowering, CIRGetBitfieldLowering,
3829
+ CIRPrefetchLowering, CIRObjSizeOpLowering, CIRIsConstantOpLowering,
3830
+ CIRCmpThreeWayOpLowering, CIRLroundOpLowering, CIRLLroundOpLowering,
3831
+ CIRLrintOpLowering, CIRLLrintOpLowering, CIRCopysignOpLowering,
3922
3832
CIRFModOpLowering, CIRFMaxOpLowering, CIRFMinOpLowering, CIRPowOpLowering,
3923
3833
CIRClearCacheOpLowering, CIRUndefOpLowering, CIREhTypeIdOpLowering,
3924
3834
CIRCatchParamOpLowering, CIRResumeOpLowering, CIRAllocExceptionOpLowering,
3925
- CIRThrowOpLowering>(converter, patterns.getContext ());
3835
+ CIRThrowOpLowering
3836
+ #define GET_BUILTIN_LOWERING_LIST
3837
+ #include " clang/CIR/Dialect/IR/CIRBuiltinsLowering.inc"
3838
+ #undef GET_BUILTIN_LOWERING_LIST
3839
+ >(converter, patterns.getContext ());
3926
3840
}
3927
3841
3928
3842
namespace {
0 commit comments