diff options
author | GregF <greg@LunarG.com> | 2017-08-03 10:37:26 -0600 |
---|---|---|
committer | David Neto <dneto@google.com> | 2017-08-04 17:47:41 -0400 |
commit | 0bd8300fc2d0b36d5a5f4228799c816ecbda8d20 (patch) | |
tree | c5f857fbf4203ca58f9409c3cb1b4b3cb03891db | |
parent | f4b29f3bf79bd64c7b4855d5f9fde69eb224244a (diff) | |
download | SPIRV-Tools-0bd8300fc2d0b36d5a5f4228799c816ecbda8d20.tar.gz SPIRV-Tools-0bd8300fc2d0b36d5a5f4228799c816ecbda8d20.tar.bz2 SPIRV-Tools-0bd8300fc2d0b36d5a5f4228799c816ecbda8d20.zip |
Update README.md with new code-reduction passes
-rw-r--r-- | README.md | 28 |
1 files changed, 20 insertions, 8 deletions
@@ -86,16 +86,28 @@ limits accepted by a more than minimally capable SPIR-V consumer. ### Optimizer -*Warning:* The optimizer is still under development. +*Note:* The optimizer is still under development. Currently supported optimizations: -* Strip debug info -* Set spec constant default value -* Freeze spec constant -* Fold `OpSpecConstantOp` and `OpSpecConstantComposite` -* Unify constants -* Eliminate dead constant -* Inline all function calls in entry points +* General + * Strip debug info +* Specialization Constants + * Set spec constant default value + * Freeze spec constant + * Fold `OpSpecConstantOp` and `OpSpecConstantComposite` + * Unify constants + * Eliminate dead constant +* Code Reduction (Entry Point Functions) + * Inline all function calls exhaustively + * Convert local access chains to inserts/extracts + * Eliminate local load/store in single block + * Eliminate local load/store with single store + * Eliminate local load/store with multiple stores + * Eliminate local extract from insert + * Eliminate dead instructions (aggressive) + * Eliminate dead branches + * Merge single successor / single predecessor block pairs + * Eliminate common uniform loads For the latest list with detailed documentation, please refer to [`include/spirv-tools/optimizer.hpp`](include/spirv-tools/optimizer.hpp). |