101e04c3fSmrg- Detect code paths in non-void functions that don't reach a return statement 201e04c3fSmrg 301e04c3fSmrg- Improve handling of constants and their initializers. Constant initializers 401e04c3fSmrg should never generate any code. This is trival for scalar constants. It is 501e04c3fSmrg also trivial for arrays, matrices, and vectors that are accessed with 601e04c3fSmrg constant index values. For others it is more complicated. Perhaps these 701e04c3fSmrg cases should be silently converted to uniforms? 801e04c3fSmrg 901e04c3fSmrg- Track source locations throughout the IR. There are currently several 1001e04c3fSmrg places where we cannot emit line numbers for errors (and currently emit 0:0) 1101e04c3fSmrg because we've "lost" the line number information. This is particularly 1201e04c3fSmrg noticeable at link time. 13