Skip to content

Commit f70e8f1

Browse files
MrSidimsvmaksimo
authored andcommitted
Address some static analyzer concerns
The assertions are actually not required here, since all these functions are being called from visitCallInst, which has the appropriate check. But for the code consistency lets do not trust functions' inputs. Signed-off-by: Dmitry Sidorov <[email protected]> Original commit: KhronosGroup/SPIRV-LLVM-Translator@39cae09
1 parent 914323d commit f70e8f1

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

llvm-spirv/lib/SPIRV/SPIRVToOCL.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -596,6 +596,7 @@ void SPIRVToOCLBase::visitCallSPIRVImageMediaBlockBuiltin(CallInst *CI, Op OC) {
596596
}
597597
void SPIRVToOCLBase::visitCallBuildNDRangeBuiltIn(CallInst *CI, Op OC,
598598
StringRef DemangledName) {
599+
assert(CI->getCalledFunction() && "Unexpected indirect call");
599600
AttributeList Attrs = CI->getCalledFunction()->getAttributes();
600601
mutateCallInstOCL(
601602
M, CI,
@@ -625,6 +626,7 @@ void SPIRVToOCLBase::visitCallBuildNDRangeBuiltIn(CallInst *CI, Op OC,
625626

626627
void SPIRVToOCLBase::visitCallGenericCastToPtrExplicitBuiltIn(CallInst *CI,
627628
Op OC) {
629+
assert(CI->getCalledFunction() && "Unexpected indirect call");
628630
AttributeList Attrs = CI->getCalledFunction()->getAttributes();
629631
mutateCallInstOCL(
630632
M, CI,
@@ -651,6 +653,7 @@ void SPIRVToOCLBase::visitCallGenericCastToPtrExplicitBuiltIn(CallInst *CI,
651653

652654
void SPIRVToOCLBase::visitCallSPIRVCvtBuiltin(CallInst *CI, Op OC,
653655
StringRef DemangledName) {
656+
assert(CI->getCalledFunction() && "Unexpected indirect call");
654657
AttributeList Attrs = CI->getCalledFunction()->getAttributes();
655658
mutateCallInstOCL(
656659
M, CI,
@@ -677,6 +680,7 @@ void SPIRVToOCLBase::visitCallSPIRVCvtBuiltin(CallInst *CI, Op OC,
677680
}
678681

679682
void SPIRVToOCLBase::visitCallAsyncWorkGroupCopy(CallInst *CI, Op OC) {
683+
assert(CI->getCalledFunction() && "Unexpected indirect call");
680684
AttributeList Attrs = CI->getCalledFunction()->getAttributes();
681685
mutateCallInstOCL(
682686
M, CI,
@@ -690,6 +694,7 @@ void SPIRVToOCLBase::visitCallAsyncWorkGroupCopy(CallInst *CI, Op OC) {
690694
}
691695

692696
void SPIRVToOCLBase::visitCallGroupWaitEvents(CallInst *CI, Op OC) {
697+
assert(CI->getCalledFunction() && "Unexpected indirect call");
693698
AttributeList Attrs = CI->getCalledFunction()->getAttributes();
694699
mutateCallInstOCL(
695700
M, CI,
@@ -962,6 +967,7 @@ void SPIRVToOCLBase::visitCallSPIRVGenericPtrMemSemantics(CallInst *CI) {
962967
}
963968

964969
void SPIRVToOCLBase::visitCallSPIRVBuiltin(CallInst *CI, Op OC) {
970+
assert(CI->getCalledFunction() && "Unexpected indirect call");
965971
AttributeList Attrs = CI->getCalledFunction()->getAttributes();
966972
mutateCallInstOCL(
967973
M, CI,
@@ -973,6 +979,7 @@ void SPIRVToOCLBase::visitCallSPIRVBuiltin(CallInst *CI, Op OC) {
973979

974980
void SPIRVToOCLBase::visitCallSPIRVBuiltin(CallInst *CI,
975981
SPIRVBuiltinVariableKind Kind) {
982+
assert(CI->getCalledFunction() && "Unexpected indirect call");
976983
AttributeList Attrs = CI->getCalledFunction()->getAttributes();
977984
mutateCallInstOCL(
978985
M, CI,
@@ -984,6 +991,7 @@ void SPIRVToOCLBase::visitCallSPIRVBuiltin(CallInst *CI,
984991

985992
void SPIRVToOCLBase::visitCallSPIRVAvcINTELInstructionBuiltin(CallInst *CI,
986993
Op OC) {
994+
assert(CI->getCalledFunction() && "Unexpected indirect call");
987995
AttributeList Attrs = CI->getCalledFunction()->getAttributes();
988996
mutateCallInstOCL(
989997
M, CI,
@@ -994,6 +1002,7 @@ void SPIRVToOCLBase::visitCallSPIRVAvcINTELInstructionBuiltin(CallInst *CI,
9941002
}
9951003

9961004
void SPIRVToOCLBase::visitCallSPIRVOCLExt(CallInst *CI, OCLExtOpKind Kind) {
1005+
assert(CI->getCalledFunction() && "Unexpected indirect call");
9971006
AttributeList Attrs = CI->getCalledFunction()->getAttributes();
9981007
mutateCallInstOCL(
9991008
M, CI,
@@ -1004,6 +1013,7 @@ void SPIRVToOCLBase::visitCallSPIRVOCLExt(CallInst *CI, OCLExtOpKind Kind) {
10041013
}
10051014

10061015
void SPIRVToOCLBase::visitCallSPIRVVLoadn(CallInst *CI, OCLExtOpKind Kind) {
1016+
assert(CI->getCalledFunction() && "Unexpected indirect call");
10071017
AttributeList Attrs = CI->getCalledFunction()->getAttributes();
10081018
mutateCallInstOCL(
10091019
M, CI,
@@ -1022,6 +1032,7 @@ void SPIRVToOCLBase::visitCallSPIRVVLoadn(CallInst *CI, OCLExtOpKind Kind) {
10221032
}
10231033

10241034
void SPIRVToOCLBase::visitCallSPIRVVStore(CallInst *CI, OCLExtOpKind Kind) {
1035+
assert(CI->getCalledFunction() && "Unexpected indirect call");
10251036
AttributeList Attrs = CI->getCalledFunction()->getAttributes();
10261037
mutateCallInstOCL(
10271038
M, CI,
@@ -1060,6 +1071,7 @@ void SPIRVToOCLBase::visitCallSPIRVVStore(CallInst *CI, OCLExtOpKind Kind) {
10601071
}
10611072

10621073
void SPIRVToOCLBase::visitCallSPIRVPrintf(CallInst *CI, OCLExtOpKind Kind) {
1074+
assert(CI->getCalledFunction() && "Unexpected indirect call");
10631075
AttributeList Attrs = CI->getCalledFunction()->getAttributes();
10641076
CallInst *NewCI = mutateCallInstOCL(
10651077
M, CI,

0 commit comments

Comments
 (0)