| 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 |