Eloborate non-SSA usage.
@@ -211,11 +211,18 @@ ex100: func v, 0
* **code selection**
* fast **register allocator** with implicit coalescing hard registers and stack slots
for copy elimination
- * **No SSA** (single static assignment form) usage for faster optimizations
- * If we implement more optimizations, SSA transition is possible when additional time for
- expensive in/out SSA passes will be less than additional time for non-SSA optimization
- implementation
+ * **No SSA** (single static assignment form) for:
+ * Faster optimizations for short optimizations pipeline and small functions (a target usage scenario)
+ * Currently SSA could be used only for two optimizations (CCP
+ and GCSE). SSA usage would mean 4 additional passes over IR. If we implement more optimizations,
+ SSA transition is possible when additional time for expensive in/out SSA
+ passes will be less than additional time for non-SSA
+ optimization implementation
+ * Simpler and more compact generator code because we can avoid to
+ implement a lot of nontrivial code (for dominator and dominator
+ frontier calculation, a good out of SSA code)
* Simplicity of optimizations implementation over extreme generated code performance
+
* More detail **JIT compiler pipeline**:
![MIR generator](mir-gen.svg)
* **Simplify**: lowering MIR
