SPIRV-Tools/utils
David Neto e70b009b0f
Add support for SPV_KHR_non_semantic_info (#3110)
Add support for SPV_KHR_non_semantic_info

This entails a couple of changes:

- Allowing unknown OpExtInstImport that begin with the prefix `NonSemantic.`
- Allowing OpExtInst that reference any of those sets to contain unknown
  ext inst instruction numbers, and assume the format is always a series of IDs
  as guaranteed by the extension.
- Allowing those OpExtInst to appear in the types/variables/constants section.
- Not stripping OpString in the --strip-debug pass, since it may be referenced
  by these non-semantic OpExtInsts.
- Stripping them instead in the --strip-reflect pass.

* Add adjacency validation of non-semantic OpExtInst

- We validate and test that OpExtInst cannot appear before or between
  OpPhi instructions, or before/between OpFunctionParameter
  instructions.

* Change non-semantic extinst type to single value

* Add helper function spvExtInstIsNonSemantic() which will check if the extinst
  set is non-semantic or not, either the unknown generic value or any future
  recognised non-semantic set.

* Add test of a complex non-semantic extinst

* Use DefUseManager in StripDebugInfoPass to strip some OpStrings

* Any OpString used by a non-semantic instruction cannot be stripped, all others
  can so we search for uses to see if each string can be removed.
* We only do this if the non-semantic debug info extension is enabled, otherwise
  all strings can be trivially removed.

* Silence -Winconsistent-missing-override in protobufs
2019-12-18 18:10:29 -05:00
..
vscode utils/vscode: Add install.bat (#3071) 2019-11-26 16:23:57 -05:00
check_code_format.sh Enable the base branch to be overridden in the code format check script (#2607) 2019-05-24 14:33:43 -04:00
check_copyright.py Adding valilidation checks for OpEntryPoint duplicate names and execution mode (#2862) 2019-09-16 19:13:30 -04:00
check_symbol_exports.py Remove unneeded future imports (#2739) 2019-07-24 15:29:38 -04:00
fixup_fuzz_result.py Script to fixup fuzzer results (#1792) 2018-08-02 20:28:40 -04:00
generate_grammar_tables.py Add support for SPV_KHR_non_semantic_info (#3110) 2019-12-18 18:10:29 -05:00
generate_language_headers.py Remove unneeded future imports (#2739) 2019-07-24 15:29:38 -04:00
generate_registry_tables.py Remove unneeded future imports (#2739) 2019-07-24 15:29:38 -04:00
generate_vim_syntax.py Remove unneeded future imports (#2739) 2019-07-24 15:29:38 -04:00
git-sync-deps Add infrastructure for maintaining and using DEPS (#2684) 2019-06-20 14:57:28 -04:00
roll_deps.sh Add infrastructure for maintaining and using DEPS (#2684) 2019-06-20 14:57:28 -04:00
update_build_version.py Python 3: remove deprecated U qualifier on 'open' (#3019) 2019-11-07 08:39:09 -05:00