SPIRV-Tools/source/val
Steven Perron 482b1744ca
Validate all type ids. (#1868)
* Validate all type ids.

The validator does not check if the type of an instruction is actually
a type unless the OpCode has a specific requirement.  For example,
OpFAdd is checked, but OpUndef is not.

The commit add a generic check that if there is a type id then the id
defines a type.

http://crbug.com/876694

* Merge other checks for type into new one.

There are a couple check that the type id is a type for specific
opcodes.  Those have been mereged into 1.

Small changes to other test cases to make them valid enough for the
purpose of the test.
2018-08-27 23:45:32 -04:00
..
basic_block.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
basic_block.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
construct.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
construct.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
decoration.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
function.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
function.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
instruction.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
instruction.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
validate_adjacency.cpp Combine ordered_instruction loops in validation. (#1782) 2018-08-02 10:00:52 -04:00
validate_annotation.cpp Split annotation opcode validation into new file. 2018-08-08 15:43:11 -04:00
validate_arithmetics.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
validate_atomics.cpp Update diag() in validate_atomics (#1753) 2018-07-31 17:20:43 -04:00
validate_barriers.cpp Refactor where opcodes are validated 2018-08-07 10:29:30 -04:00
validate_bitwise.cpp Update diag() usage in validate_bitwise. (#1757) 2018-08-01 09:19:37 -04:00
validate_builtins.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
validate_capability.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
validate_cfg.cpp Validate all type ids. (#1868) 2018-08-27 23:45:32 -04:00
validate_composites.cpp Validate all type ids. (#1868) 2018-08-27 23:45:32 -04:00
validate_constants.cpp Moving constant opcode validation into a new file 2018-08-21 17:30:26 -04:00
validate_conversion.cpp Update diag() calls in validate_conversion. (#1762) 2018-08-01 10:18:06 -04:00
validate_datarules.cpp Update diag() calls in validate_datarules. (#1763) 2018-08-01 10:35:19 -04:00
validate_debug.cpp Split debug opcode validation into new file 2018-08-08 13:47:09 -04:00
validate_decorations.cpp Fixing instances of iteration over unordered containers 2018-08-23 14:49:10 -04:00
validate_derivatives.cpp Refactor where opcodes are validated 2018-08-07 10:29:30 -04:00
validate_execution_limitations.cpp Split function opcode validation into new files. 2018-08-13 17:04:57 -04:00
validate_ext_inst.cpp Refactor where opcodes are validated 2018-08-07 10:29:30 -04:00
validate_function.cpp Validate correct opcode uses of OpFunction 2018-08-14 10:13:06 -04:00
validate_id.cpp Validate all type ids. (#1868) 2018-08-27 23:45:32 -04:00
validate_image.cpp Remove idUsage 2018-08-27 11:06:09 -04:00
validate_instruction.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
validate_interfaces.cpp Fixing instances of iteration over unordered containers 2018-08-23 14:49:10 -04:00
validate_layout.cpp Update diag() calls in validate_layout. (#1770) 2018-08-01 12:01:35 -04:00
validate_literals.cpp Update diag() calls in validate_literals. (#1771) 2018-08-01 12:41:46 -04:00
validate_logicals.cpp Update diag() calls in validate_logicals. (#1772) 2018-08-01 12:41:57 -04:00
validate_memory.cpp Unify validation of OpCopyMemory* 2018-08-07 19:01:58 -04:00
validate_mode_setting.cpp Split mode setting opcode validation into new file. 2018-08-08 15:45:53 -04:00
validate_non_uniform.cpp Update diag() calls in validate_non_uniform. (#1773) 2018-08-01 12:49:43 -04:00
validate_primitives.cpp Refactor where opcodes are validated 2018-08-07 10:29:30 -04:00
validate_type.cpp Validate uses of OpTypeFunction. (#1867) 2018-08-27 11:41:25 -04:00
validate.cpp Remove idUsage 2018-08-27 11:06:09 -04:00
validate.h Remove idUsage 2018-08-27 11:06:09 -04:00
validation_state.cpp Fix EvalInt32IfConst to fail on type instructions. 2018-08-21 11:59:00 -04:00
validation_state.h Refactor where opcodes are validated 2018-08-07 10:29:30 -04:00