diff options
Diffstat (limited to 'src/cmd/compile/internal/ssa/TODO')
-rw-r--r-- | src/cmd/compile/internal/ssa/TODO | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/cmd/compile/internal/ssa/TODO b/src/cmd/compile/internal/ssa/TODO new file mode 100644 index 0000000..f4e4382 --- /dev/null +++ b/src/cmd/compile/internal/ssa/TODO @@ -0,0 +1,24 @@ +This is a list of possible improvements to the SSA pass of the compiler. + +Optimizations (better compiled code) +------------------------------------ +- Reduce register pressure in scheduler +- Make dead store pass inter-block +- If there are a lot of MOVQ $0, ..., then load + 0 into a register and use the register as the source instead. +- Allow large structs to be SSAable (issue 24416) +- Allow arrays of length >1 to be SSAable +- If strings are being passed around without being interpreted (ptr + and len fields being accessed) pass them in xmm registers? + Same for interfaces? +- any pointer generated by unsafe arithmetic must be non-nil? + (Of course that may not be true in general, but it is for all uses + in the runtime, and we can play games with unsafe.) + +Optimizations (better compiler) +------------------------------- +- Handle signed division overflow and sign extension earlier + +Regalloc +-------- +- Make liveness analysis non-quadratic |