1This is a list of possible improvements to the SSA pass of the compiler. 2 3Optimizations (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 18Optimizations (better compiler) 19------------------------------- 20- Handle signed division overflow and sign extension earlier 21 22Regalloc 23-------- 24- Make liveness analysis non-quadratic 25