@@ -3937,30 +3937,31 @@ class FIRToLLVMLowering
3937
3937
options.applyTBAA || applyTBAA,
3938
3938
options.forceUnifiedTBAATree , *dl};
3939
3939
mlir::RewritePatternSet pattern (context);
3940
- pattern.insert <
3941
- AbsentOpConversion, AddcOpConversion, AddrOfOpConversion,
3942
- AllocaOpConversion, AllocMemOpConversion, BoxAddrOpConversion,
3943
- BoxCharLenOpConversion, BoxDimsOpConversion, BoxEleSizeOpConversion,
3944
- BoxIsAllocOpConversion, BoxIsArrayOpConversion, BoxIsPtrOpConversion,
3945
- BoxOffsetOpConversion, BoxProcHostOpConversion, BoxRankOpConversion,
3946
- BoxTypeCodeOpConversion, BoxTypeDescOpConversion, CallOpConversion,
3947
- CmpcOpConversion, ConstcOpConversion, ConvertOpConversion,
3948
- CoordinateOpConversion, DTEntryOpConversion, DivcOpConversion,
3949
- EmboxOpConversion, EmboxCharOpConversion, EmboxProcOpConversion,
3950
- ExtractValueOpConversion, FieldIndexOpConversion, FirEndOpConversion,
3951
- FreeMemOpConversion, GlobalLenOpConversion, GlobalOpConversion,
3952
- HasValueOpConversion, InsertOnRangeOpConversion,
3953
- InsertValueOpConversion, IsPresentOpConversion,
3954
- LenParamIndexOpConversion, LoadOpConversion, MulcOpConversion,
3955
- NegcOpConversion, NoReassocOpConversion, SelectCaseOpConversion,
3956
- SelectOpConversion, SelectRankOpConversion, SelectTypeOpConversion,
3957
- ShapeOpConversion, ShapeShiftOpConversion, ShiftOpConversion,
3958
- SliceOpConversion, StoreOpConversion, StringLitOpConversion,
3959
- SubcOpConversion, TypeDescOpConversion, TypeInfoOpConversion,
3960
- UnboxCharOpConversion, UnboxProcOpConversion, UndefOpConversion,
3961
- UnreachableOpConversion, UnrealizedConversionCastOpConversion,
3962
- XArrayCoorOpConversion, XEmboxOpConversion, XReboxOpConversion,
3963
- ZeroOpConversion>(typeConverter, options);
3940
+ fir::populateFIRToLLVMConversionPatterns (typeConverter, pattern, options);
3941
+ // pattern.insert<
3942
+ // AbsentOpConversion, AddcOpConversion, AddrOfOpConversion,
3943
+ // AllocaOpConversion, AllocMemOpConversion, BoxAddrOpConversion,
3944
+ // BoxCharLenOpConversion, BoxDimsOpConversion, BoxEleSizeOpConversion,
3945
+ // BoxIsAllocOpConversion, BoxIsArrayOpConversion, BoxIsPtrOpConversion,
3946
+ // BoxOffsetOpConversion, BoxProcHostOpConversion, BoxRankOpConversion,
3947
+ // BoxTypeCodeOpConversion, BoxTypeDescOpConversion, CallOpConversion,
3948
+ // CmpcOpConversion, ConstcOpConversion, ConvertOpConversion,
3949
+ // CoordinateOpConversion, DTEntryOpConversion, DivcOpConversion,
3950
+ // EmboxOpConversion, EmboxCharOpConversion, EmboxProcOpConversion,
3951
+ // ExtractValueOpConversion, FieldIndexOpConversion, FirEndOpConversion,
3952
+ // FreeMemOpConversion, GlobalLenOpConversion, GlobalOpConversion,
3953
+ // HasValueOpConversion, InsertOnRangeOpConversion,
3954
+ // InsertValueOpConversion, IsPresentOpConversion,
3955
+ // LenParamIndexOpConversion, LoadOpConversion, MulcOpConversion,
3956
+ // NegcOpConversion, NoReassocOpConversion, SelectCaseOpConversion,
3957
+ // SelectOpConversion, SelectRankOpConversion, SelectTypeOpConversion,
3958
+ // ShapeOpConversion, ShapeShiftOpConversion, ShiftOpConversion,
3959
+ // SliceOpConversion, StoreOpConversion, StringLitOpConversion,
3960
+ // SubcOpConversion, TypeDescOpConversion, TypeInfoOpConversion,
3961
+ // UnboxCharOpConversion, UnboxProcOpConversion, UndefOpConversion,
3962
+ // UnreachableOpConversion, UnrealizedConversionCastOpConversion,
3963
+ // XArrayCoorOpConversion, XEmboxOpConversion, XReboxOpConversion,
3964
+ // ZeroOpConversion>(typeConverter, options);
3964
3965
mlir::populateFuncToLLVMConversionPatterns (typeConverter, pattern);
3965
3966
mlir::populateOpenMPToLLVMConversionPatterns (typeConverter, pattern);
3966
3967
mlir::arith::populateArithToLLVMConversionPatterns (typeConverter, pattern);
@@ -4072,3 +4073,32 @@ fir::createLLVMDialectToLLVMPass(llvm::raw_ostream &output,
4072
4073
fir::LLVMIRLoweringPrinter printer) {
4073
4074
return std::make_unique<LLVMIRLoweringPass>(output, printer);
4074
4075
}
4076
+
4077
+ void fir::populateFIRToLLVMConversionPatterns (
4078
+ fir::LLVMTypeConverter &converter, mlir::RewritePatternSet &patterns,
4079
+ fir::FIRToLLVMPassOptions &options) {
4080
+ patterns.insert <
4081
+ AbsentOpConversion, AddcOpConversion, AddrOfOpConversion,
4082
+ AllocaOpConversion, AllocMemOpConversion, BoxAddrOpConversion,
4083
+ BoxCharLenOpConversion, BoxDimsOpConversion, BoxEleSizeOpConversion,
4084
+ BoxIsAllocOpConversion, BoxIsArrayOpConversion, BoxIsPtrOpConversion,
4085
+ BoxOffsetOpConversion, BoxProcHostOpConversion, BoxRankOpConversion,
4086
+ BoxTypeCodeOpConversion, BoxTypeDescOpConversion, CallOpConversion,
4087
+ CmpcOpConversion, ConstcOpConversion, ConvertOpConversion,
4088
+ CoordinateOpConversion, DTEntryOpConversion, DivcOpConversion,
4089
+ EmboxOpConversion, EmboxCharOpConversion, EmboxProcOpConversion,
4090
+ ExtractValueOpConversion, FieldIndexOpConversion, FirEndOpConversion,
4091
+ FreeMemOpConversion, GlobalLenOpConversion, GlobalOpConversion,
4092
+ HasValueOpConversion, InsertOnRangeOpConversion, InsertValueOpConversion,
4093
+ IsPresentOpConversion, LenParamIndexOpConversion, LoadOpConversion,
4094
+ MulcOpConversion, NegcOpConversion, NoReassocOpConversion,
4095
+ SelectCaseOpConversion, SelectOpConversion, SelectRankOpConversion,
4096
+ SelectTypeOpConversion, ShapeOpConversion, ShapeShiftOpConversion,
4097
+ ShiftOpConversion, SliceOpConversion, StoreOpConversion,
4098
+ StringLitOpConversion, SubcOpConversion, TypeDescOpConversion,
4099
+ TypeInfoOpConversion, UnboxCharOpConversion, UnboxProcOpConversion,
4100
+ UndefOpConversion, UnreachableOpConversion,
4101
+ UnrealizedConversionCastOpConversion, XArrayCoorOpConversion,
4102
+ XEmboxOpConversion, XReboxOpConversion, ZeroOpConversion>(converter,
4103
+ options);
4104
+ }
0 commit comments