Content-Length: 558346 | pFad | http://github.com/llvm/clangir/commit/95166adace0e38a1e757661a2db886f97d61461b

58 Merge branch 'llvm:main' into macPro · llvm/clangir@95166ad · GitHub
Skip to content

Commit 95166ad

Browse files
authored
Merge branch 'llvm:main' into macPro
2 parents d125844 + dbd3e03 commit 95166ad

File tree

3 files changed

+100
-48
lines changed

3 files changed

+100
-48
lines changed

clang/lib/CIR/Dialect/IR/CIRDialect.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2023,8 +2023,8 @@ LogicalResult
20232023
cir::GetGlobalOp::verifySymbolUses(SymbolTableCollection &symbolTable) {
20242024
// Verify that the result type underlying pointer type matches the type of
20252025
// the referenced cir.global or cir.func op.
2026-
auto op = symbolTable.lookupNearestSymbolFrom(*this, getNameAttr());
2027-
if (!(isa<GlobalOp>(op) || isa<FuncOp>(op)))
2026+
auto *op = symbolTable.lookupNearestSymbolFrom(*this, getNameAttr());
2027+
if (op == nullptr || !(isa<GlobalOp>(op) || isa<FuncOp>(op)))
20282028
return emitOpError("'")
20292029
<< getName()
20302030
<< "' does not reference a valid cir.global or cir.func";

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

Lines changed: 89 additions & 46 deletions
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

clang/test/CIR/IR/invalid.cir

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1103,6 +1103,15 @@ module {
11031103

11041104
// -----
11051105

1106+
!s8i = !cir.int<s, 8>
1107+
cir.func @no_reference_global() {
1108+
// expected-error @below {{'cir.get_global' op 'str' does not reference a valid cir.global or cir.func}}
1109+
%0 = cir.get_global @str : !cir.ptr<!s8i>
1110+
cir.return
1111+
}
1112+
1113+
// -----
1114+
11061115
// expected-error@+1 {{invalid underlying type for long double}}
11071116
cir.func @bad_long_double(%arg0 : !cir.long_double<!cir.float>) -> () {
11081117
cir.return

0 commit comments

Comments
 (0)








ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: http://github.com/llvm/clangir/commit/95166adace0e38a1e757661a2db886f97d61461b

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy