Update README.md with new code-reduction passes
authorGregF <greg@LunarG.com>
Thu, 3 Aug 2017 16:37:26 +0000 (10:37 -0600)
committerDavid Neto <dneto@google.com>
Fri, 4 Aug 2017 21:47:41 +0000 (17:47 -0400)
README.md

index d55f28f..6d1a54b 100644 (file)
--- a/README.md
+++ b/README.md
@@ -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).