SPIRV-Tools/test
David Neto b51b80980c Validator cfg fixes
- Find unreachable continue targets.  Look for back edges
  with a DFS traversal separate from the dominance traversals,
  where we count the OpLoopMerge from the header to the continue
  target as an edge in the graph.

- It's ok for a loop to have multiple back edges, provided
  they are all from the same block, and we call that the latch block.
  This may require a clarification/fix in the SPIR-V spec.

- Compute postdominance correctly for infinite loop:
  Bias *predecessor* traversal root finding so that you use
  a later block in the original list.  This ensures that
  for certain simple infinite loops in the CFG where neither
  block branches to a node without successors, that we'll
  compute the loop header as dominating the latch block, and the
  latch block as postdominating the loop header.
2016-08-05 15:15:37 -04:00
..
opt Simple Assembly code builder for test uses 2016-08-04 16:45:59 -04:00
AssemblyContext.cpp Make everything compile cleanly with -Wpedantic. 2016-03-21 10:01:13 -04:00
AssemblyFormat.cpp Add tests for SubgroupDispatch. 2016-04-21 15:46:08 -04:00
BinaryDestroy.cpp Add tests for SubgroupDispatch. 2016-04-21 15:46:08 -04:00
BinaryEndianness.cpp Extend copyright to 2016. 2016-01-07 13:44:22 -05:00
BinaryHeaderGet.cpp Add SPIR-V 1.1 grammar. 2016-04-18 10:45:57 -04:00
BinaryParse.cpp Fix ExtInst parsing: no IdRef* at end 2016-06-15 10:00:06 -04:00
BinaryToText.cpp Disassembling: map IDs to friendly names. 2016-07-19 16:28:17 -04:00
BinaryToText.Literal.cpp Make everything compile cleanly with -Wpedantic. 2016-03-21 10:01:13 -04:00
CMakeLists.txt Check configuration and gmock existence when adding unit tests. 2016-08-05 14:38:18 -04:00
Comment.cpp Fix spelling mistakes 2016-04-02 22:54:59 +01:00
cpp_interface.cpp Add tests for the cpp interface. 2016-06-28 14:52:35 -04:00
DiagnosticDestroy.cpp spvDiagnosticDestroy is safe to call on nullptr 2016-01-11 14:26:46 -05:00
DiagnosticPrint.cpp Extend copyright to 2016. 2016-01-07 13:44:22 -05:00
DiagnosticStream.cpp Extend copyright to 2016. 2016-01-07 13:44:22 -05:00
ExtInst.OpenCL.std.cpp Fix ExtInst parsing: no IdRef* at end 2016-06-15 10:00:06 -04:00
ExtInstGLSLstd450.cpp Use SPIR-V headers from the KhronosGroup/SPIRV-Headers repo. 2016-06-10 08:48:37 -04:00
FixWord.cpp Extend copyright to 2016. 2016-01-07 13:44:22 -05:00
GeneratorMagicNumber.cpp Make everything compile cleanly with -Wpedantic. 2016-03-21 10:01:13 -04:00
HexFloat.cpp Make everything compile cleanly with -Wpedantic. 2016-03-21 10:01:13 -04:00
ImmediateInt.cpp Add tests for SubgroupDispatch. 2016-04-21 15:46:08 -04:00
LibspirvMacros.cpp Extend copyright to 2016. 2016-01-07 13:44:22 -05:00
NamedId.cpp Make everything compile cleanly with -Wpedantic. 2016-03-21 10:01:13 -04:00
NameMapper.cpp Never generate % for a friendly disassembled Id 2016-08-02 11:59:10 -04:00
OpcodeMake.cpp Extend copyright to 2016. 2016-01-07 13:44:22 -05:00
OpcodeRequiresCapabilities.cpp Add tests for SubgroupDispatch. 2016-04-21 15:46:08 -04:00
OpcodeSplit.cpp Remove dependency on SPIR-V headers in libspirv.h. 2016-04-04 10:34:28 -04:00
OpcodeTableGet.cpp Add SPIR-V 1.1 grammar. 2016-04-18 10:45:57 -04:00
operand-class-test-coverage.csv Add negative-coverage location to operand-class-test-coverage.csv. 2015-10-26 12:55:33 -04:00
Operand.cpp Add SPIR-V 1.1 grammar. 2016-04-18 10:45:57 -04:00
OperandCapabilities.cpp Track changes in SPIRV-Headers for SPIR-V 1.1 rev 2. 2016-07-18 11:55:16 -04:00
OperandPattern.cpp Add SPIR-V 1.1 grammar. 2016-04-18 10:45:57 -04:00
SoftwareVersion.cpp Add CHANGES file with high level software history 2016-04-22 15:19:45 -04:00
TestFixture.h Add an option to spvBinaryToText() to ignore header output. 2016-06-27 15:25:24 -04:00
TextAdvance.cpp Avoid going out of bound in advanceLine() and refine comments. 2016-04-21 16:08:51 -04:00
TextDestroy.cpp Add a target environment to spvContextCreate(). 2016-03-31 12:16:51 -04:00
TextLiteral.cpp Make everything compile cleanly with -Wpedantic. 2016-03-21 10:01:13 -04:00
TextStartsNewInst.cpp Fixed use-after-free in isStartOfNewInst() tests. 2016-01-12 14:47:24 -05:00
TextToBinary.Annotation.cpp Add tests for MaxByteOffset. 2016-05-10 22:46:27 -04:00
TextToBinary.Barrier.cpp First tests for SPIR-V v1.1. 2016-04-19 16:34:12 -04:00
TextToBinary.Constant.cpp Make everything compile cleanly with -Wpedantic. 2016-03-21 10:01:13 -04:00
TextToBinary.ControlFlow.cpp Add v1.1 tests for OpLoopMerge. 2016-04-29 14:09:52 -04:00
TextToBinary.cpp Add tests for SubgroupDispatch. 2016-04-21 15:46:08 -04:00
TextToBinary.Debug.cpp Test OpModuleProcessed. 2016-05-11 12:40:59 -04:00
TextToBinary.DeviceSideEnqueue.cpp Make everything compile cleanly with -Wpedantic. 2016-03-21 10:01:13 -04:00
TextToBinary.Extension.cpp Fix ExtInst parsing: no IdRef* at end 2016-06-15 10:00:06 -04:00
TextToBinary.Function.cpp Make everything compile cleanly with -Wpedantic. 2016-03-21 10:01:13 -04:00
TextToBinary.Group.cpp Make everything compile cleanly with -Wpedantic. 2016-03-21 10:01:13 -04:00
TextToBinary.Image.cpp Make everything compile cleanly with -Wpedantic. 2016-03-21 10:01:13 -04:00
TextToBinary.Literal.cpp Extend copyright to 2016. 2016-01-07 13:44:22 -05:00
TextToBinary.Memory.cpp Make everything compile cleanly with -Wpedantic. 2016-03-21 10:01:13 -04:00
TextToBinary.Miscellaneous.cpp Remove AssemblyContext::getWord(). 2016-03-15 15:16:40 -04:00
TextToBinary.ModeSetting.cpp Add basic Initializer/Finalizer tests. 2016-04-27 22:02:39 -04:00
TextToBinary.PipeStorage.cpp Add PipeStorage tests. 2016-05-09 13:54:05 -04:00
TextToBinary.SubgroupDispatch.cpp Add tests for SubgroupDispatch. 2016-04-21 15:46:08 -04:00
TextToBinary.TypeDeclaration.cpp Add OpSizeOf tests. 2016-04-27 15:41:58 -04:00
TextWordGet.cpp Handle CRLF in assembly text. 2016-04-01 00:47:02 -04:00
UnitSPIRV.cpp Support 16-bit float in assembler and disassembler 2016-01-08 10:48:39 -05:00
UnitSPIRV.h Split validate_types file into multiple classes 2016-06-08 14:40:33 -04:00
Validate.Capability.cpp Track changes in SPIRV-Headers for SPIR-V 1.1 rev 2. 2016-07-18 11:55:16 -04:00
Validate.CFG.cpp Validator cfg fixes 2016-08-05 15:15:37 -04:00
Validate.Layout.cpp Use pseudo entry and pseudo exit blocks for dominance. 2016-06-24 17:08:20 -04:00
Validate.SSA.cpp Only check def dominance of reachable uses 2016-08-04 14:58:27 -04:00
Validate.Storage.cpp Make everything compile cleanly with -Wpedantic. 2016-03-21 10:01:13 -04:00
ValidateFixtures.cpp Validator structured flow checks: back-edge, constructs 2016-06-22 11:51:19 -04:00
ValidateFixtures.h Add tests for SubgroupDispatch. 2016-04-21 15:46:08 -04:00
ValidateID.cpp In physical addressing, functions can return pointers 2016-06-14 11:00:39 -04:00
ValidationState.cpp Use SPIR-V headers from the KhronosGroup/SPIRV-Headers repo. 2016-06-10 08:48:37 -04:00