SPIRV-Tools/tools
Paul Thomson 7d1b176c1d
Improve reducer algorithm and other changes (#2472)
Fix #2475. Fix #2476. 

* Improve reducer algorithm: shrink granularity, remove an early return, no lazy initialization, notify pass if binary is interesting, add comments.
* Add fail-on-validation-error option to fail a reduction if an invalid state is reached; useful for tests.
* Set fail-on-validation-error in tests.
* Improve some documentation comments.
* Add Reducer::AddDefaultReductionPasses so tests (and other library consumers) can add the default reduction passes.
* Add CLIMessageConsumer in test_reduce so we can see messages for tricky tests.
* Remove test RemoveUnreferencedInstructionReductionPassTest_ApplyReduction because it was indirectly testing the reduction algorithm, not the RemoveUnreferencedInstruction pass.
* Tweak tests where needed.
2019-03-26 13:22:31 +00:00
..
as spirv-as: Fix error in help text. 2018-08-22 08:12:07 -06:00
cfg Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
comp Use MakeUnique. (#1837) 2018-08-14 15:01:50 -04:00
dis Support SPIR-V 1.3 and Vulkan 1.1 2018-03-06 15:17:31 -05:00
emacs Define variable to skip installation 2017-07-04 12:24:44 -04:00
lesspipe tools/lesspipe: Allow generic shell (#2255) 2018-12-27 15:06:37 -05:00
link linker: Allow modules to be partially linked 2018-02-27 12:21:13 -05:00
opt Add --strip-atomic-counter-memory (#2413) 2019-03-14 13:34:33 -04:00
reduce Improve reducer algorithm and other changes (#2472) 2019-03-26 13:22:31 +00:00
stats Remove stats use of internal API (#1924) 2018-09-26 10:32:05 -07:00
util Validate the input to Optimizer::Run (#1799) 2018-08-08 11:16:19 -04:00
val Validator: Support VK_EXT_scalar_block_layout 2018-11-16 15:55:30 -05:00
CMakeLists.txt Do not build spirv-reduce on iOS/tvOS/watchOS - it requires std::system which is not available on those platforms (#2355) 2019-02-04 09:39:39 -08:00
io.h Rewrite include guards (#1793) 2018-08-03 08:05:33 -04:00