Skip to content

Commit 8176d88

Browse files
Lancernsmeenai
authored andcommitted
[CIR][NFC] Refactor code for populating LLVM conversion patterns (#1152)
The function `populateCIRToLLVMConversionPatterns` contains a spaghetti of LLVM dialect conversion patterns, which results in merge conflicts very easily. Besides, a few patterns are even registered for more than once, possibly due to careless resolution of merge conflicts. This PR attempts to mitigate this problem. Pattern names now are sorted in alphabetical order, and each source code line now only lists exactly one pattern name to reduce potential merge conflicts.
1 parent 2f281fc commit 8176d88

File tree

1 file changed

+89
-46
lines changed

1 file changed

+89
-46
lines changed

clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp

+89-46
Original file line numberDiff line numberDiff line change
@@ -3859,55 +3859,98 @@ void populateCIRToLLVMConversionPatterns(
38593859
stringGlobalsMap, argStringGlobalsMap,
38603860
argsVarMap, patterns.getContext());
38613861
patterns.add<
3862-
CIRToLLVMCmpOpLowering, CIRToLLVMSelectOpLowering,
3863-
CIRToLLVMBitClrsbOpLowering, CIRToLLVMBitClzOpLowering,
3864-
CIRToLLVMBitCtzOpLowering, CIRToLLVMBitFfsOpLowering,
3865-
CIRToLLVMBitParityOpLowering, CIRToLLVMBitPopcountOpLowering,
3866-
CIRToLLVMAtomicCmpXchgLowering, CIRToLLVMAtomicXchgLowering,
3867-
CIRToLLVMAtomicFetchLowering, CIRToLLVMByteswapOpLowering,
3868-
CIRToLLVMRotateOpLowering, CIRToLLVMBrCondOpLowering,
3869-
CIRToLLVMPtrStrideOpLowering, CIRToLLVMCallOpLowering,
3870-
CIRToLLVMTryCallOpLowering, CIRToLLVMEhInflightOpLowering,
3871-
CIRToLLVMUnaryOpLowering, CIRToLLVMBinOpLowering,
3872-
CIRToLLVMBinOpOverflowOpLowering, CIRToLLVMShiftOpLowering,
3873-
CIRToLLVMLoadOpLowering, CIRToLLVMConstantOpLowering,
3874-
CIRToLLVMStoreOpLowering, CIRToLLVMFuncOpLowering,
3875-
CIRToLLVMCastOpLowering, CIRToLLVMGlobalOpLowering,
3876-
CIRToLLVMGetGlobalOpLowering, CIRToLLVMComplexCreateOpLowering,
3877-
CIRToLLVMComplexRealOpLowering, CIRToLLVMComplexImagOpLowering,
3878-
CIRToLLVMComplexRealPtrOpLowering, CIRToLLVMComplexImagPtrOpLowering,
3879-
CIRToLLVMVAStartOpLowering, CIRToLLVMVAEndOpLowering,
3880-
CIRToLLVMVACopyOpLowering, CIRToLLVMVAArgOpLowering,
3881-
CIRToLLVMBrOpLowering, CIRToLLVMGetMemberOpLowering,
3882-
CIRToLLVMGetRuntimeMemberOpLowering, CIRToLLVMSwitchFlatOpLowering,
3883-
CIRToLLVMPtrDiffOpLowering, CIRToLLVMCopyOpLowering,
3884-
CIRToLLVMMemCpyOpLowering, CIRToLLVMMemChrOpLowering,
3885-
CIRToLLVMAbsOpLowering, CIRToLLVMExpectOpLowering,
3886-
CIRToLLVMVTableAddrPointOpLowering, CIRToLLVMVecCreateOpLowering,
3887-
CIRToLLVMVecCmpOpLowering, CIRToLLVMVecSplatOpLowering,
3888-
CIRToLLVMVecTernaryOpLowering, CIRToLLVMVecShuffleDynamicOpLowering,
3889-
CIRToLLVMVecShuffleOpLowering, CIRToLLVMStackSaveOpLowering,
3890-
CIRToLLVMUnreachableOpLowering, CIRToLLVMTrapOpLowering,
3891-
CIRToLLVMInlineAsmOpLowering, CIRToLLVMSetBitfieldOpLowering,
3892-
CIRToLLVMGetBitfieldOpLowering, CIRToLLVMPrefetchOpLowering,
3893-
CIRToLLVMObjSizeOpLowering, CIRToLLVMIsConstantOpLowering,
3894-
CIRToLLVMCmpThreeWayOpLowering, CIRToLLVMMemCpyOpLowering,
3895-
CIRToLLVMIsConstantOpLowering, CIRToLLVMCmpThreeWayOpLowering,
3896-
CIRToLLVMReturnAddrOpLowering, CIRToLLVMClearCacheOpLowering,
3897-
CIRToLLVMEhTypeIdOpLowering, CIRToLLVMCatchParamOpLowering,
3898-
CIRToLLVMResumeOpLowering, CIRToLLVMAllocExceptionOpLowering,
3899-
CIRToLLVMFreeExceptionOpLowering, CIRToLLVMThrowOpLowering,
3900-
CIRToLLVMLLVMIntrinsicCallOpLowering, CIRToLLVMAssumeOpLowering,
3901-
CIRToLLVMAssumeAlignedOpLowering, CIRToLLVMAssumeSepStorageOpLowering,
3902-
CIRToLLVMBaseClassAddrOpLowering, CIRToLLVMDerivedClassAddrOpLowering,
3903-
CIRToLLVMVTTAddrPointOpLowering, CIRToLLVMIsFPClassOpLowering,
3904-
CIRToLLVMAbsOpLowering, CIRToLLVMMemMoveOpLowering,
3905-
CIRToLLVMMemSetOpLowering, CIRToLLVMMemSetInlineOpLowering,
3906-
CIRToLLVMMemCpyInlineOpLowering, CIRToLLVMSignBitOpLowering,
3907-
CIRToLLVMPtrMaskOpLowering
3862+
// clang-format off
3863+
CIRToLLVMAbsOpLowering,
3864+
CIRToLLVMAllocExceptionOpLowering,
3865+
CIRToLLVMAssumeAlignedOpLowering,
3866+
CIRToLLVMAssumeOpLowering,
3867+
CIRToLLVMAssumeSepStorageOpLowering,
3868+
CIRToLLVMAtomicCmpXchgLowering,
3869+
CIRToLLVMAtomicFetchLowering,
3870+
CIRToLLVMAtomicXchgLowering,
3871+
CIRToLLVMBaseClassAddrOpLowering,
3872+
CIRToLLVMBinOpLowering,
3873+
CIRToLLVMBinOpOverflowOpLowering,
3874+
CIRToLLVMBitClrsbOpLowering,
3875+
CIRToLLVMBitClzOpLowering,
3876+
CIRToLLVMBitCtzOpLowering,
3877+
CIRToLLVMBitFfsOpLowering,
3878+
CIRToLLVMBitParityOpLowering,
3879+
CIRToLLVMBitPopcountOpLowering,
3880+
CIRToLLVMBrCondOpLowering,
3881+
CIRToLLVMBrOpLowering,
3882+
CIRToLLVMByteswapOpLowering,
3883+
CIRToLLVMCallOpLowering,
3884+
CIRToLLVMCastOpLowering,
3885+
CIRToLLVMCatchParamOpLowering,
3886+
CIRToLLVMClearCacheOpLowering,
3887+
CIRToLLVMCmpOpLowering,
3888+
CIRToLLVMCmpThreeWayOpLowering,
3889+
CIRToLLVMComplexCreateOpLowering,
3890+
CIRToLLVMComplexImagOpLowering,
3891+
CIRToLLVMComplexImagPtrOpLowering,
3892+
CIRToLLVMComplexRealOpLowering,
3893+
CIRToLLVMComplexRealPtrOpLowering,
3894+
CIRToLLVMConstantOpLowering,
3895+
CIRToLLVMCopyOpLowering,
3896+
CIRToLLVMDerivedClassAddrOpLowering,
3897+
CIRToLLVMEhInflightOpLowering,
3898+
CIRToLLVMEhTypeIdOpLowering,
3899+
CIRToLLVMExpectOpLowering,
3900+
CIRToLLVMFreeExceptionOpLowering,
3901+
CIRToLLVMFuncOpLowering,
3902+
CIRToLLVMGetBitfieldOpLowering,
3903+
CIRToLLVMGetGlobalOpLowering,
3904+
CIRToLLVMGetMemberOpLowering,
3905+
CIRToLLVMGetRuntimeMemberOpLowering,
3906+
CIRToLLVMGlobalOpLowering,
3907+
CIRToLLVMInlineAsmOpLowering,
3908+
CIRToLLVMIsConstantOpLowering,
3909+
CIRToLLVMIsFPClassOpLowering,
3910+
CIRToLLVMLLVMIntrinsicCallOpLowering,
3911+
CIRToLLVMLoadOpLowering,
3912+
CIRToLLVMMemChrOpLowering,
3913+
CIRToLLVMMemCpyInlineOpLowering,
3914+
CIRToLLVMMemCpyOpLowering,
3915+
CIRToLLVMMemMoveOpLowering,
3916+
CIRToLLVMMemSetInlineOpLowering,
3917+
CIRToLLVMMemSetOpLowering,
3918+
CIRToLLVMObjSizeOpLowering,
3919+
CIRToLLVMPrefetchOpLowering,
3920+
CIRToLLVMPtrDiffOpLowering,
3921+
CIRToLLVMPtrMaskOpLowering,
3922+
CIRToLLVMPtrStrideOpLowering,
3923+
CIRToLLVMResumeOpLowering,
3924+
CIRToLLVMReturnAddrOpLowering,
3925+
CIRToLLVMRotateOpLowering,
3926+
CIRToLLVMSelectOpLowering,
3927+
CIRToLLVMSetBitfieldOpLowering,
3928+
CIRToLLVMShiftOpLowering,
3929+
CIRToLLVMSignBitOpLowering,
3930+
CIRToLLVMStackSaveOpLowering,
3931+
CIRToLLVMStoreOpLowering,
3932+
CIRToLLVMSwitchFlatOpLowering,
3933+
CIRToLLVMThrowOpLowering,
3934+
CIRToLLVMTrapOpLowering,
3935+
CIRToLLVMTryCallOpLowering,
3936+
CIRToLLVMUnaryOpLowering,
3937+
CIRToLLVMUnreachableOpLowering,
3938+
CIRToLLVMVAArgOpLowering,
3939+
CIRToLLVMVACopyOpLowering,
3940+
CIRToLLVMVAEndOpLowering,
3941+
CIRToLLVMVAStartOpLowering,
3942+
CIRToLLVMVecCmpOpLowering,
3943+
CIRToLLVMVecCreateOpLowering,
3944+
CIRToLLVMVecShuffleDynamicOpLowering,
3945+
CIRToLLVMVecShuffleOpLowering,
3946+
CIRToLLVMVecSplatOpLowering,
3947+
CIRToLLVMVecTernaryOpLowering,
3948+
CIRToLLVMVTableAddrPointOpLowering,
3949+
CIRToLLVMVTTAddrPointOpLowering
39083950
#define GET_BUILTIN_LOWERING_LIST
39093951
#include "clang/CIR/Dialect/IR/CIRBuiltinsLowering.inc"
39103952
#undef GET_BUILTIN_LOWERING_LIST
3953+
// clang-format on
39113954
>(converter, patterns.getContext());
39123955
}
39133956

0 commit comments

Comments
 (0)