SPIRV-Tools/tools
Diego Novillo 99fe61e724 Add API to create passes out of a list of command-line flags.
This re-implements the -Oconfig=<file> flag to use a new API that takes
a list of command-line flags representing optimization passes.

This moves the processing of flags that create new optimization passes
out of spirv-opt and into the library API.  Useful for other tools that
want to incorporate a facility similar to -Oconfig.

The main changes are:

1- Add a new public function Optimizer::RegisterPassesFromFlags. This
   takes a vector of strings.  Each string is assumed to have the form
   '--pass_name[=pass_args]'.  It creates and registers into the pass
   manager all the passes specified in the vector.  Each pass is
   validated internally.  Failure to create a pass instance causes the
   function to return false and a diagnostic is emitted to the
   registered message consumer.

2- Re-implements -Oconfig in spirv-opt to use the new API.
2018-07-27 15:10:08 -04:00
..
as Support SPIR-V 1.3 and Vulkan 1.1 2018-03-06 15:17:31 -05:00
cfg Change libspirv to spvtools namespace (#1678) 2018-07-07 09:38:00 -04:00
comp Move utils/ to spvtools::utils 2018-07-06 16:47:46 -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 Define variable to skip installation 2017-07-04 12:24:44 -04:00
link linker: Allow modules to be partially linked 2018-02-27 12:21:13 -05:00
opt Add API to create passes out of a list of command-line flags. 2018-07-27 15:10:08 -04:00
stats Change libspirv to spvtools namespace (#1678) 2018-07-07 09:38:00 -04:00
val Add option to skip verifying block layout 2018-07-11 18:00:54 -04:00
CMakeLists.txt Add new compression algorithm and models 2017-11-21 17:32:58 -05:00
io.h Reopen stdin for binary as needed 2018-07-10 17:49:07 -04:00