Add a .csv showing test coverage for operand class
authorDavid Neto <dneto@google.com>
Tue, 29 Sep 2015 18:22:02 +0000 (14:22 -0400)
committerDavid Neto <dneto@google.com>
Mon, 26 Oct 2015 16:55:33 +0000 (12:55 -0400)
It shows which spv::OperandClass values are used in
the syntax table in source/opcode.inc, and what tests
exercise those operand types.

test/operand-class-test-coverage.csv [new file with mode: 0644]

diff --git a/test/operand-class-test-coverage.csv b/test/operand-class-test-coverage.csv
new file mode 100644 (file)
index 0000000..0a4ca4f
--- /dev/null
@@ -0,0 +1,45 @@
+Operand type,Example instruction,Notes,example unit test\r
+,,,\r
+,,,\r
+"    OperandNone,",UNUSED,not in grammar,\r
+"    OperandId,",many,ID,too many to count\r
+"    OperandOptionalId,","Source, Variable",OPTIONAL_ID,OpSourceAcceptsOptionalFileId\r
+"    OperandOptionalImage,",ImageFetch,,ImageOperandsTest\r
+"    OperandVariableIds,",ExtInst,,\r
+"    OperandOptionalLiteral,",ExecutionMode,,AnyExecutionMode\r
+"    OperandOptionalLiteralString,",Source,,OpSourceAcceptsOptionalSourceText\r
+"    OperandVariableLiterals,",Decorate,,OpDecorateSimpleTest\r
+"    OperandVariableIdLiteral,",GroupMemberDecorate,,GroupMemberDecorate*\r
+"    OperandVariableLiteralId, // zero or more pairs of (Literal, Id)",Switch,,Switch*\r
+"    OperandLiteralNumber,","Source, Switch, ...",,Switch*\r
+"    OperandLiteralString,",SourceContinued,,OpSourceContinued\r
+"    OperandSource,",Source,,OpSource\r
+"    OperandExecutionModel,",EntryPoint,,OpEntryPointTest\r
+"    OperandAddressing,",OpMemoryModel,,OpMemoryModelTest\r
+"    OperandMemory,",OpMemoryModel,,OpMemoryModelTest\r
+"    OperandExecutionMode,",OpExecutionMode,,OpExecutionModeTest\r
+"    OperandStorage,","TypePointer, TypeForwardPointer, Variable",,StorageClassTest\r
+"    OperandDimensionality,",TypeImage,,DimTest/AnyDim\r
+"    OperandSamplerAddressingMode,",ConstantSampler,,SamplerAddressingModeTest\r
+"    OperandSamplerFilterMode,",ConstantSampler,,AnySamplerFilterMode\r
+"    OperandSamplerImageFormat,",TypeImage,SAMPLER_IMAGE_FORMAT,ImageFormatTest\r
+"    OperandImageChannelOrder,",UNUSED,returned as result value only,\r
+"    OperandImageChannelDataType,",UNUSED,returned as result value only,\r
+"    OperandImageOperands,",UNUSED,used to make a spec section,\r
+"    OperandFPFastMath,",OpDecorate,,CombinedFPFastMathMask\r
+"    OperandFPRoundingMode,",OpDecorate,,OpDecorateEnumTest\r
+"    OperandLinkageType,",OpDecorate,,OpDecorateLinkageTest\r
+"    OperandAccessQualifier,",OpTypePipe,,AnyAccessQualifier\r
+"    OperandFuncParamAttr,",OpDecorate,,TextToBinaryDecorateFuncParamAttr\r
+"    OperandDecoration,",OpDecorate,,AnyAccessQualifier\r
+"    OperandBuiltIn,",OpDecorate,,TextToBinaryDecorateBultIn\r
+"    OperandSelect,",SelectionMerge,,TextToBinarySelectionMerge\r
+"    OperandLoop,",LoopMerge,,CombinedLoopControlMask\r
+"    OperandFunction,",Function,,AnySingleFunctionControlMask\r
+"    OperandMemorySemantics,",OpMemoryBarrier,"it's an ID, not in grammar",OpMemoryBarrier*\r
+"    OperandMemoryAccess,",UNUSED,"should be on opstore, but hacked in opcode.cpp",\r
+"    OperandScope,",MemoryBarrier,"it's an ID, not in grammar",OpMemoryBarrier*\r
+"    OperandGroupOperation,",GroupIAdd,,GroupOperationTest\r
+"    OperandKernelEnqueueFlags,",OpEnqueueKernel,"it's an ID, not in grammar",should not have one\r
+"    OperandKernelProfilingInfo,",OpCaptureEventProfilingInfo,"it's an ID, not in grammar",should not have one\r
+"    OperandCapability,",Capability,,OpCapabilityTest
\ No newline at end of file