SPIRV-Tools/source
Diego Novillo 03000a3a38 Add testing framework for tools.
This forks the testing harness from https://github.com/google/shaderc
to allow testing CLI tools.

New features needed for SPIRV-Tools include:

1- A new PlaceHolder subclass for spirv shaders.  This place holder
   calls spirv-as to convert assembly input into SPIRV bytecode. This is
   required for most tools in SPIRV-Tools.

2- A minimal testing file for testing basic functionality of spirv-opt.

Add tests for all flags in spirv-opt.

1. Adds tests to check that known flags match the names that each pass
   advertises.
2. Adds tests to check that -O, -Os and --legalize-hlsl schedule the
   expected passes.
3. Adds more functionality to Expect classes to support regular
   expression matching on stderr.
4. Add checks for integer arguments to optimization flags.
5. Fixes #1817 by modifying the parsing of integer arguments in
   flags that take them.
6. Fixes -Oconfig file parsing (#1778). It reads every line of the file
   into a string and then parses that string by tokenizing every group of
   characters between whitespaces (using the standard cin reading
   operator).  This mimics shell command-line parsing, but it does not
   support quoting (and I'm not planning to).
2018-08-17 15:03:14 -04:00
..
comp Use MakeUnique. (#1837) 2018-08-14 15:01:50 -04:00
link Move make_unique to source/util. (#1836) 2018-08-14 12:44:54 -04:00
opt Add testing framework for tools. 2018-08-17 15:03:14 -04:00
util Use MakeUnique. (#1837) 2018-08-14 15:01:50 -04:00
val Change when instruction is registered in validator. (#1840) 2018-08-15 13:18:47 -04:00
assembly_grammar.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
assembly_grammar.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
binary.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
binary.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
cfa.h Rewrite include guards (#1793) 2018-08-03 08:05:33 -04:00
CMakeLists.txt Remove source/message.h (#1838) 2018-08-14 15:41:21 -04:00
diagnostic.cpp Remove source/message.h (#1838) 2018-08-14 15:41:21 -04:00
diagnostic.h Rewrite include guards (#1793) 2018-08-03 08:05:33 -04:00
disassemble.cpp Use MakeUnique. (#1837) 2018-08-14 15:01:50 -04:00
disassemble.h Rewrite include guards (#1793) 2018-08-03 08:05:33 -04:00
enum_set.h Use MakeUnique. (#1837) 2018-08-14 15:01:50 -04:00
enum_string_mapping.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
enum_string_mapping.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
ext_inst.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
ext_inst.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
extensions.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
extensions.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
extinst.debuginfo.grammar.json Add asm, dis support for DebugInfo extended instruction set 2017-12-22 09:39:36 -05:00
extinst.spv-amd-gcn-shader.grammar.json Fix spelling in SPV_AMD_gcn_shader support 2017-04-03 14:59:18 -04:00
extinst.spv-amd-shader-ballot.grammar.json Add support for SPV AMD extensions 2017-06-21 15:08:07 -04:00
extinst.spv-amd-shader-explicit-vertex-parameter.grammar.json Add support for SPV AMD extensions 2017-06-21 15:08:07 -04:00
extinst.spv-amd-shader-trinary-minmax.grammar.json Add support for SPV AMD extensions 2017-06-21 15:08:07 -04:00
id_descriptor.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
id_descriptor.h Rewrite include guards (#1793) 2018-08-03 08:05:33 -04:00
instruction.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
latest_version_glsl_std_450_header.h Rewrite include guards (#1793) 2018-08-03 08:05:33 -04:00
latest_version_opencl_std_header.h Rewrite include guards (#1793) 2018-08-03 08:05:33 -04:00
latest_version_spirv_header.h Rewrite include guards (#1793) 2018-08-03 08:05:33 -04:00
libspirv.cpp Validate the input to Optimizer::Run (#1799) 2018-08-08 11:16:19 -04:00
macro.h Rewrite include guards (#1793) 2018-08-03 08:05:33 -04:00
name_mapper.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
name_mapper.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
opcode.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
opcode.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
operand.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
operand.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
parsed_operand.cpp Replace asserts with returns 2018-08-08 15:13:04 -04:00
parsed_operand.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
print.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
print.h Rewrite include guards (#1793) 2018-08-03 08:05:33 -04:00
software_version.cpp Add missing function parameters in libspirv.h 2018-04-03 10:10:43 -04:00
spirv_constant.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
spirv_definition.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
spirv_endian.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
spirv_endian.h Rewrite include guards (#1793) 2018-08-03 08:05:33 -04:00
spirv_target_env.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
spirv_target_env.h Rewrite include guards (#1793) 2018-08-03 08:05:33 -04:00
spirv_validator_options.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
spirv_validator_options.h Rewrite include guards (#1793) 2018-08-03 08:05:33 -04:00
table.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
table.h Remove source/message.h (#1838) 2018-08-14 15:41:21 -04:00
text_handler.cpp Fix readbility/braces warnings (#1804) 2018-08-07 09:09:47 -04:00
text_handler.h Remove source/message.h (#1838) 2018-08-14 15:41:21 -04:00
text.cpp Remove source/message.h (#1838) 2018-08-14 15:41:21 -04:00
text.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00