github.com/go-asm/go@v1.21.1-0.20240213172139-40c5ead50c48/cmd/compile/ssa/TODO (about) 1 This is a list of possible improvements to the SSA pass of the compiler. 2 3 Optimizations (better compiled code) 4 ------------------------------------ 5 - Reduce register pressure in scheduler 6 - Make dead store pass inter-block 7 - If there are a lot of MOVQ $0, ..., then load 8 0 into a register and use the register as the source instead. 9 - Allow large structs to be SSAable (issue 24416) 10 - Allow arrays of length >1 to be SSAable 11 - If strings are being passed around without being interpreted (ptr 12 and len fields being accessed) pass them in xmm registers? 13 Same for interfaces? 14 - any pointer generated by unsafe arithmetic must be non-nil? 15 (Of course that may not be true in general, but it is for all uses 16 in the runtime, and we can play games with unsafe.) 17 18 Optimizations (better compiler) 19 ------------------------------- 20 - Handle signed division overflow and sign extension earlier 21 22 Regalloc 23 -------- 24 - Make liveness analysis non-quadratic