[dev.ssa] cmd/compile: update SSA todos

Change-Id: I1271c015e602cd7ec92bf24f019dd8839b3180fc
Reviewed-on: https://go-review.googlesource.com/14346
Reviewed-by: Keith Randall <khr@golang.org>
This commit is contained in:
Josh Bleecher Snyder 2015-09-07 09:03:58 -07:00
parent fa5fe19137
commit ad5ceafa2c
1 changed files with 2 additions and 6 deletions

View File

@ -3,17 +3,13 @@ be complete soon.
Coverage
--------
- Complex numbers
- Defer?
- Closure args
- PHEAP vars
Correctness
-----------
- GC maps
- Write barriers
- Debugging info
- Deferreturn
- Can/should we move control values out of their basic block?
- Anything to do for the race detector?
- Slicing details (avoid ptr to next object) [done for string]
@ -24,11 +20,10 @@ Optimizations (better compiled code)
- More strength reduction: multiply -> shift/add combos (Worth doing?)
- Strength reduction: constant divides -> multiply
- Expand current optimizations to all bit widths
- Nil/bounds check removal
- Add a value range propagation pass (for bounds elim & bitwidth reduction)
- Combining nil checks with subsequent load
- Implement memory zeroing with REPSTOSQ and DuffZero
- Implement memory copying with REPMOVSQ and DuffCopy
- Add a value range propagation pass (for bounds elim & bitwidth reduction)
- Stackalloc: organize values to allow good packing
- Regalloc: use arg slots as the home for arguments (don't copy args to locals)
- Reuse stack slots for noninterfering & compatible values (but see issue 8740)
@ -44,6 +39,7 @@ Optimizations (better compiler)
- Reuseable slices (e.g. []int of size NumValues()) cached in Func
- Handle signed division overflow and sign extension earlier
- Implement 64 bit const division with high multiply, maybe in the frontend?
- Add bit widths to complex ops
Regalloc
--------