SPIRV-Tools/tools
Steven Perron 06cdb96984 Make use of the instruction folder.
Implementation of the simplification pass.

- Create pass that calls the instruction folder on each instruction and
  propagate instructions that fold to a copy.  This will do copy
  propagation as well.

- Did not use the propagator engine because I want to modify the instruction
  as we go along.

- Change folding to not allocate new instructions, but make changes in
  place.  This change had a big impact on compile time.

- Add simplification pass to the legalization passes in place of
  insert-extract elimination.

- Added test cases for new folding rules.

- Added tests for the simplification pass

- Added a method to the CFG to apply a function to the basic blocks in
  reverse post order.

Contributes to #1164.
2018-02-07 23:01:47 -05:00
..
as spirv-as: Fail for unrecognized long option 2017-09-05 19:49:59 -04:00
cfg Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -05:00
comp Add new compression algorithm and models 2017-11-21 17:32:58 -05:00
dis spirv-dis: Add --color option to force color disassembly 2018-01-18 00:01:25 -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 code cleanups 2018-01-05 13:28:44 -05:00
opt Make use of the instruction folder. 2018-02-07 23:01:47 -05:00
stats Move SetContextMessageConsumer into libspirv namespace 2017-11-23 13:56:12 -05:00
val Allow relaxing validation of pointers in logical addressing mode 2018-01-08 10:36:23 -05:00
CMakeLists.txt Add new compression algorithm and models 2017-11-21 17:32:58 -05:00
io.h Relicense SPIRV-Tools under Apache 2.0 2016-09-02 10:00:29 -04:00