Add a .csv showing test coverage for operand class

It shows which spv::OperandClass values are used in
the syntax table in source/opcode.inc, and what tests
exercise those operand types.
This commit is contained in:
David Neto 2015-09-29 14:22:02 -04:00
parent 897bff924a
commit 8bed0cea13

View File

@ -0,0 +1,45 @@
Operand type,Example instruction,Notes,example unit test
,,,
,,,
" OperandNone,",UNUSED,not in grammar,
" OperandId,",many,ID,too many to count
" OperandOptionalId,","Source, Variable",OPTIONAL_ID,OpSourceAcceptsOptionalFileId
" OperandOptionalImage,",ImageFetch,,ImageOperandsTest
" OperandVariableIds,",ExtInst,,
" OperandOptionalLiteral,",ExecutionMode,,AnyExecutionMode
" OperandOptionalLiteralString,",Source,,OpSourceAcceptsOptionalSourceText
" OperandVariableLiterals,",Decorate,,OpDecorateSimpleTest
" OperandVariableIdLiteral,",GroupMemberDecorate,,GroupMemberDecorate*
" OperandVariableLiteralId, // zero or more pairs of (Literal, Id)",Switch,,Switch*
" OperandLiteralNumber,","Source, Switch, ...",,Switch*
" OperandLiteralString,",SourceContinued,,OpSourceContinued
" OperandSource,",Source,,OpSource
" OperandExecutionModel,",EntryPoint,,OpEntryPointTest
" OperandAddressing,",OpMemoryModel,,OpMemoryModelTest
" OperandMemory,",OpMemoryModel,,OpMemoryModelTest
" OperandExecutionMode,",OpExecutionMode,,OpExecutionModeTest
" OperandStorage,","TypePointer, TypeForwardPointer, Variable",,StorageClassTest
" OperandDimensionality,",TypeImage,,DimTest/AnyDim
" OperandSamplerAddressingMode,",ConstantSampler,,SamplerAddressingModeTest
" OperandSamplerFilterMode,",ConstantSampler,,AnySamplerFilterMode
" OperandSamplerImageFormat,",TypeImage,SAMPLER_IMAGE_FORMAT,ImageFormatTest
" OperandImageChannelOrder,",UNUSED,returned as result value only,
" OperandImageChannelDataType,",UNUSED,returned as result value only,
" OperandImageOperands,",UNUSED,used to make a spec section,
" OperandFPFastMath,",OpDecorate,,CombinedFPFastMathMask
" OperandFPRoundingMode,",OpDecorate,,OpDecorateEnumTest
" OperandLinkageType,",OpDecorate,,OpDecorateLinkageTest
" OperandAccessQualifier,",OpTypePipe,,AnyAccessQualifier
" OperandFuncParamAttr,",OpDecorate,,TextToBinaryDecorateFuncParamAttr
" OperandDecoration,",OpDecorate,,AnyAccessQualifier
" OperandBuiltIn,",OpDecorate,,TextToBinaryDecorateBultIn
" OperandSelect,",SelectionMerge,,TextToBinarySelectionMerge
" OperandLoop,",LoopMerge,,CombinedLoopControlMask
" OperandFunction,",Function,,AnySingleFunctionControlMask
" OperandMemorySemantics,",OpMemoryBarrier,"it's an ID, not in grammar",OpMemoryBarrier*
" OperandMemoryAccess,",UNUSED,"should be on opstore, but hacked in opcode.cpp",
" OperandScope,",MemoryBarrier,"it's an ID, not in grammar",OpMemoryBarrier*
" OperandGroupOperation,",GroupIAdd,,GroupOperationTest
" OperandKernelEnqueueFlags,",OpEnqueueKernel,"it's an ID, not in grammar",should not have one
" OperandKernelProfilingInfo,",OpCaptureEventProfilingInfo,"it's an ID, not in grammar",should not have one
" OperandCapability,",Capability,,OpCapabilityTest
1 Operand type Example instruction Notes example unit test
2
3
4 OperandNone, UNUSED not in grammar
5 OperandId, many ID too many to count
6 OperandOptionalId, Source, Variable OPTIONAL_ID OpSourceAcceptsOptionalFileId
7 OperandOptionalImage, ImageFetch ImageOperandsTest
8 OperandVariableIds, ExtInst
9 OperandOptionalLiteral, ExecutionMode AnyExecutionMode
10 OperandOptionalLiteralString, Source OpSourceAcceptsOptionalSourceText
11 OperandVariableLiterals, Decorate OpDecorateSimpleTest
12 OperandVariableIdLiteral, GroupMemberDecorate GroupMemberDecorate*
13 OperandVariableLiteralId, // zero or more pairs of (Literal, Id) Switch Switch*
14 OperandLiteralNumber, Source, Switch, ... Switch*
15 OperandLiteralString, SourceContinued OpSourceContinued
16 OperandSource, Source OpSource
17 OperandExecutionModel, EntryPoint OpEntryPointTest
18 OperandAddressing, OpMemoryModel OpMemoryModelTest
19 OperandMemory, OpMemoryModel OpMemoryModelTest
20 OperandExecutionMode, OpExecutionMode OpExecutionModeTest
21 OperandStorage, TypePointer, TypeForwardPointer, Variable StorageClassTest
22 OperandDimensionality, TypeImage DimTest/AnyDim
23 OperandSamplerAddressingMode, ConstantSampler SamplerAddressingModeTest
24 OperandSamplerFilterMode, ConstantSampler AnySamplerFilterMode
25 OperandSamplerImageFormat, TypeImage SAMPLER_IMAGE_FORMAT ImageFormatTest
26 OperandImageChannelOrder, UNUSED returned as result value only
27 OperandImageChannelDataType, UNUSED returned as result value only
28 OperandImageOperands, UNUSED used to make a spec section
29 OperandFPFastMath, OpDecorate CombinedFPFastMathMask
30 OperandFPRoundingMode, OpDecorate OpDecorateEnumTest
31 OperandLinkageType, OpDecorate OpDecorateLinkageTest
32 OperandAccessQualifier, OpTypePipe AnyAccessQualifier
33 OperandFuncParamAttr, OpDecorate TextToBinaryDecorateFuncParamAttr
34 OperandDecoration, OpDecorate AnyAccessQualifier
35 OperandBuiltIn, OpDecorate TextToBinaryDecorateBultIn
36 OperandSelect, SelectionMerge TextToBinarySelectionMerge
37 OperandLoop, LoopMerge CombinedLoopControlMask
38 OperandFunction, Function AnySingleFunctionControlMask
39 OperandMemorySemantics, OpMemoryBarrier it's an ID, not in grammar OpMemoryBarrier*
40 OperandMemoryAccess, UNUSED should be on opstore, but hacked in opcode.cpp
41 OperandScope, MemoryBarrier it's an ID, not in grammar OpMemoryBarrier*
42 OperandGroupOperation, GroupIAdd GroupOperationTest
43 OperandKernelEnqueueFlags, OpEnqueueKernel it's an ID, not in grammar should not have one
44 OperandKernelProfilingInfo, OpCaptureEventProfilingInfo it's an ID, not in grammar should not have one
45 OperandCapability, Capability OpCapabilityTest