@@ -637,33 +637,6 @@ struct CmpcOpConversion : public fir::FIROpConversion<fir::CmpcOp> {
637637 }
638638};
639639
640- // / Lower complex constants
641- struct ConstcOpConversion : public fir ::FIROpConversion<fir::ConstcOp> {
642- using FIROpConversion::FIROpConversion;
643-
644- llvm::LogicalResult
645- matchAndRewrite (fir::ConstcOp conc, OpAdaptor,
646- mlir::ConversionPatternRewriter &rewriter) const override {
647- mlir::Location loc = conc.getLoc ();
648- mlir::Type ty = convertType (conc.getType ());
649- mlir::Type ety = convertType (getComplexEleTy (conc.getType ()));
650- auto realPart = rewriter.create <mlir::LLVM::ConstantOp>(
651- loc, ety, getValue (conc.getReal ()));
652- auto imPart = rewriter.create <mlir::LLVM::ConstantOp>(
653- loc, ety, getValue (conc.getImaginary ()));
654- auto undef = rewriter.create <mlir::LLVM::UndefOp>(loc, ty);
655- auto setReal =
656- rewriter.create <mlir::LLVM::InsertValueOp>(loc, undef, realPart, 0 );
657- rewriter.replaceOpWithNewOp <mlir::LLVM::InsertValueOp>(conc, setReal,
658- imPart, 1 );
659- return mlir::success ();
660- }
661-
662- inline llvm::APFloat getValue (mlir::Attribute attr) const {
663- return mlir::cast<fir::RealAttr>(attr).getValue ();
664- }
665- };
666-
667640// / convert value of from-type to value of to-type
668641struct ConvertOpConversion : public fir ::FIROpConversion<fir::ConvertOp> {
669642 using FIROpConversion::FIROpConversion;
@@ -3861,12 +3834,12 @@ void fir::populateFIRToLLVMConversionPatterns(
38613834 BoxIsAllocOpConversion, BoxIsArrayOpConversion, BoxIsPtrOpConversion,
38623835 BoxOffsetOpConversion, BoxProcHostOpConversion, BoxRankOpConversion,
38633836 BoxTypeCodeOpConversion, BoxTypeDescOpConversion, CallOpConversion,
3864- CmpcOpConversion, ConstcOpConversion, ConvertOpConversion ,
3865- CoordinateOpConversion, DTEntryOpConversion, DeclareOpConversion,
3866- DivcOpConversion, EmboxOpConversion, EmboxCharOpConversion,
3867- EmboxProcOpConversion, ExtractValueOpConversion, FieldIndexOpConversion,
3868- FirEndOpConversion, FreeMemOpConversion, GlobalLenOpConversion,
3869- GlobalOpConversion, InsertOnRangeOpConversion, IsPresentOpConversion,
3837+ CmpcOpConversion, ConvertOpConversion, CoordinateOpConversion ,
3838+ DTEntryOpConversion, DeclareOpConversion, DivcOpConversion ,
3839+ EmboxOpConversion, EmboxCharOpConversion, EmboxProcOpConversion ,
3840+ ExtractValueOpConversion, FieldIndexOpConversion, FirEndOpConversion ,
3841+ FreeMemOpConversion, GlobalLenOpConversion, GlobalOpConversion ,
3842+ InsertOnRangeOpConversion, IsPresentOpConversion,
38703843 LenParamIndexOpConversion, LoadOpConversion, MulcOpConversion,
38713844 NegcOpConversion, NoReassocOpConversion, SelectCaseOpConversion,
38723845 SelectOpConversion, SelectRankOpConversion, SelectTypeOpConversion,
0 commit comments